Dreamhack/Web
[Dreamhack] file-download-1
h34hg0
2023. 5. 12. 19:28
문제
풀이
제목과 내용을 입력하면 업로드를 해주는 페이지다.
아무 값을 입력하고 업로드 버튼을 누르면
위와 같은 화면이 나온다. 여기서 123은 입력했던 메모의 제목이다. 123을 누르면
입력했던 메모를 보여주는 것을 알 수 있다.
입력한 메모의 제목이 파일이름이 되는 것인지 확인하기위해 제목에 ../ 를 사용해서 Path Traversal를 하려고 했지만 위와 같은 에러가 난다.
"..", "/", "./" 을 제목에 입력해서 확인하니 ".." 을 필터링 하는 것으로 보인다.
업로드한 메모를 확인해보면 name 파라미터 값에 메모의 제목값이 들어가는 것을 확인할 수 있다.
따라서 이 파라미터를 통해 Path Traversal를 해서 name 값을 ../flag.py 로 주면 놀랍게도 flag를 확인할 수 있다.