Dreamhack_pathtraversal(Web)

이주석·2022년 1월 21일
0

Dreamhack(wargame)

목록 보기
3/13
post-thumbnail

드림핵 문제 바로가기

Dreamhack pathtraversal 문제풀기

문제 정보

문제풀이

일단 페이지에 들어가서 Get User Info를 눌러봤다.

guest가 default 값이여서 바로 View 버튼을 눌렀는데 아래와 같은 정보가 뜬다.
이것으로 userid에 특정 사용자를 입력하면 사용자 정보가 나오는 것 같다.

웹 페이지에서는 이정도 확인하고 코드파일로 넘어가보자!

유저 정보에 guest와 admin이 있는걸 확인할 수 있다.

FLAG 변수에 FLAG 값이 담기고 get_info에서는 request method 방식인 GET, POST 두가지 방식으로 처리된다. 특히 POST인 경우 {API_HOST}/api/user/{userid} 형식으로 요청을 보낸다.
맨 밑에 빨간 박스 보면 /api/flag 형식의 요청이 들어오면 flag를 return한다고 나와있다.
따라서 아까 우리가 웹페이지에서 guest로 요청을 보내면 /api/user/{guest} 형식으로 요청하는 것 같다.

/api/flag로 이동하려면 현제 위치의 하위폴더 즉 /api로 간 다음 flag로 이동하면 FLAG를 찾을 수 있다.
=> ../flag

혹시나 주소창에 /api/flag를 추가해봤는데 안된다...ㅎㅎ

그래서 Burp Suite를 이용해 풀 생각이다.

Burp Suite로 확인해봤는데 guest로 요청하면 guest가 아닌 숫자 0으로 들어간다.


userid에 ../flag를 입력해봤는데 ../flag가 아닌 undefined로 들어간다.

그래서 직접 userid를 ../flag로 변경해서 Forward 해봤다.

FLAG를 찾았다!

profile
Juseok Lee

0개의 댓글

관련 채용 정보