Wargame/dreamhack

[dreamhack web] pathtraversal

마띠(쥔장) 2021. 5. 25. 02:20

 

pathtraversal

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

dreamhack.io

Get User Info 화면에서 userid 값을 입력할 수 있다.

기본값인 guest를 넣으면

아래와 같이 userid, level, password가 json 형태로 표시된다.

admin을 넣으면 아래와 같이 출력된다.

두 경우 모두 userid 값이 기본값인 'guest'로 바뀌기 전, guest와 admin이 각각 0, 1로 설정되는 것을 볼 수 있다. 그렇다면 guest, admin 대신 다른 값을 넣으면?

위처럼 'undefined'가 잠시 뜨고 다시 기본값으로 설정된다. 이 로직을 버프 스윗으로 잡아보자.

아래는 각각 userid가 guest, admin 일 떄의 모습이다.

이 userid를 아래처럼 몇 번 변조 후에 플래그를 찾을 수 있었다.

간단하게 ../flag 나 ../../api/flag나 같은 얘기지만.. 그냥 문제에 나온 그대로 하고 싶어서 후자로 했다.

728x90

'Wargame > dreamhack' 카테고리의 다른 글

[dreamhack web] file-download-1  (0) 2021.05.25
[dreamhack web] cookie, simple_sqli  (0) 2021.05.25