문제풀이

[Dreamhack] pathtraversal 문제풀이

suuuullloc 2023. 11. 13. 20:13

# 문제링크 : https://dreamhack.io/wargame/challenges/12

 

pathtraversal

사용자의 정보를 조회하는 API 서버입니다. Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요! Reference Server-side Basic

dreamhack.io


 

웹페이지

 

# Path Traversal 취약점이란?

 - URL 내에서 파일의 경로를 작성해 임의로 파일 다운로드를 할 수 있는 취약점이다. 절대경로를 이용하기 때문에 절대경로 취약점이라고도 불린다.

 

URL을 이용해서 파일을 다운로드하는 취약점을 이용해야 하고 파일 경로는 /api/flag인 것 같다. 코드 한 번 봐주자.

uid 값은 /api/user/<uid>에 저장되고 flag 값은 /api/flag에 저장된다.

그럼 uid 값에 flag를 입력해보자.

틀렸다고 나온다. 흠... 전에 푼 문제처럼 burp suite를 켜서 봐보자.

 

../flag로 다시 입력하고 burp suite를 보니 userid가 undefined라고 되어있다. 이 부분을 ../flag로 바꿔주고 forward해보자.

 

flag값이 나온 걸 볼 수 있다.

 

문제 해결!