728x90
Upload My Memo 메뉴에서 Filename과 Content를 채워 넣으면
메인 화면 리스트에 추가되고 아래처럼 내용을 볼 수 있다.
바로 위 화면을 분석해보자면 {filename 값 + Memo}가 리스트에서 선택한 파일의 제목이 되고 Content 안에는 입력한 content 값이 그대로 들어가는 것을 알 수 있다.
문제 지문에서 'flag.py'를 다운로드 받으라고 했으니 flag.py 파일을 만들면 될 듯하다. 리스트에서 선택하면 보여지는 화면이 다운로드라고 생각하면 될 것 같다.
추가로 이 문제는 파일 다운로드 취약점을 이용하는 것이니 filename=flag.py가 아니라, 디렉터리 이동이 필수적일 것이다. 디렉터리가 어떻게 구성되어 있는지는 모르지만 일단 바로 윗 디렉터리로 가보자.
즉 filename을 ../flag.py 로 설정할 것이다.
하지만 바로 이렇게 업로드 화면에서 입력해버리면,
아래 코드로 인해 막혀버린다.
그래서 우리는 URL을 이용할 것이다.
filename 값이 그대로 name 파라미터에 들어간다.
그럼 name값을 ../flag.py로 넣어보자.
728x90
'Wargame > dreamhack' 카테고리의 다른 글
[dreamhack web] pathtraversal (0) | 2021.05.25 |
---|---|
[dreamhack web] cookie, simple_sqli (0) | 2021.05.25 |