DreamHack

DreamHack 1단계 path traversal

jhyuxxk 2021. 7. 11. 20:51

DreamHack 1단계 path traversal 문제를 풀어보겠다.

 

path traversal 취약점 문제

Path traversal 취약점은 디렉터리 인덱싱과 비슷한 문제이다.

 

문제 파일

 

접속 화면

 

View 클릭 후, 화면

 

입력 값 저장 코드

입력된 userid 값은 위 그림에서 볼 수 있듯이, /api/user/{userid} 에 저장된다.

 

flag 저장 코드

FLAG 는 /api/flag 에 저장이 된다.

 

저장된 값은 /api/user/{userid} 에 FLAG 값은 /api/flag 에 저장이 되기 때문에,

../flag 를 입력해보겠다.

 

../flag 입력 화면
../flag 입력한 화면

../flag 을 입력하고 보면, 실패한 것을 알 수 있다.

 

실패한 이유를 보기 위해, Burp Suite 를 실행시키고 Intercept ON 으로 한다.

 

Intercept ON 으로 한 화면

 

그 후, 다시 ../flag 를 입력한 화면

 

View 를 클릭하면,

 

View 를 클릭한 후 Burp Suite 화면

userid = undefined 로 되어있는 것을 알 수 있다.

 

../flag 로 바꾸고 Forward 를 누를 화면

undefined 를 ../flag 로 바꾸고 Forward 를 클릭하여 값을 넘긴다.

 

../flag 를 Forward 한 화면

위 그림과 같이 FLAG 값이 출력된다.