[Dreamhack.io] file-download-1
https://dreamhack.io/wargame/challenges/37/?page=2
file-download-1
File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking
dreamhack.io
dreamhack.io의 Wargame file-download-1 문제이다.
#. 문제분석
문제 정보는 다음과 같이 나와있다. File Download 취약점이 존재하는 웹 서비스.
'웹 서비스'니까 브라우저에서 주소를 입력하면 접속이 되겠지?
그리고 거기서 flag.py의 위치를 찾아서 다운받으면 되겠다!
#. 문제풀이
접속 정보는 다음과 같이 나와있다.
이걸 이제 주소창에 입력해보자.
아주 잘 들어가진다.
일단 홈 화면에 flag.py를 다운받는 곳은 없으니 웹에서 시키는 대로 메모를 업로드 해보자.
Upload My Memo로 들어가면 이런 화면이 나오는데, 나는 그냥 대충 1을 입력해보기로 했다.
그러면... 쨘!
처음 화면으로 돌아가면서 내가 쓴 메모가 업로드 되었다.
메모를 클릭해보면,
내가 쓴 내용이 나온다.
여기서 URL을 보면 read?name=1라고 되어있는데,
여기에서 path traversal이 발생하면 flag.py를 다운받는 곳으로 이동할 수 있을 것 같다.
그런데 내가 제목과 내용을 둘 다 1이라고 써놔서 name 다음에 오는 내용이 제목인지 내용인지 분간이 안간다;;;
표본도 더 얻을 겸, 이번엔 제목은 2, 내용은 22로 입력했더니 위의 URL에서 read?name=2라고 바뀌었다.
그렇다면 name은 내가 입력한 제목을 보여주고,
그 제목을 입력하면 해당하는 내용을 보여주는 구조라고 볼 수 있다.
read?name=flag
read?name=flag.py
read?name=flag.txt
를 입력했는데 안뜬다.
그래서 상위 디렉토리 이동(../)을 통해 입력해보면,
read?name=../flag
read?name=../flag.py
쨘! Flag에 대한 내용을 볼 수 있다. 이렇게 해서 Flag에 대한 내용을 입력하면 끝!