문제 설명
php로 작성된 파일 저장 서비스입니다.
파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다.
Write up
파일업로드 취약점은 내가 제일 좋아하는 취약점이랄까 사실상 제일 먼저 흥미를 느낀 취약점이라 여튼 재미있다.

업로드하고 이미지를 공유하자!

사진 찾아오기 귀찮아서 포트폴리오를 올렸다 ㅋㅋㅋㅋ
/uploads 라는 경로로 저장되는 것을 확인했다.

list.php 페이지에도 올라간 것을 확인할 수 있다.
코드를 볼건데, index.php에는 딱히 볼게 없고....

list.php에는 uploads의 파일을 스캔하는 코드가 있다.
대신 array_diff()를 사용하여 ..(상위 디렉터리), .(현재 디렉터리), index.html은 제외하고 출력시켜준다.
이제 중요해보이는 upload.php를 살펴보자.

역시나 디렉터리가 uploads로 고정되어있고, 에러 처리 코드랑 중복 처리 코드도 있는 것을 볼 수 있다.
업로드 취약점이라고 알려줬으니, 웹쉘을 올려보자.

명령어를 실행시키는 아주 간단한 웹쉘 파일을 만들고 업로드 한다.

cmd=ls%20../를 입력하여 상위 디렉터리로 이동해 파일 목록을 보는데, flag.txt는 없다.
한단계 더 위로 올라가보자 !

잉? 더 상위에 있군요.

여기도 없고 ..

예쓰! 찾았죠?
cmd=cd%20../../../../%3Bcat%20flag.txt 신나게 입력해봅시다.

flag를 얻었다! 끗
역시 파일 업로드 취약점은 항상 재미있다. 아직 초보라..
'모의해킹 > Dreamhack Wargame' 카테고리의 다른 글
| Command Injection Advanced 문제 풀이 (0) | 2025.11.17 |
|---|---|
| command-injection-chat gpt 문제 풀이 (0) | 2025.11.11 |
| error based sql injection 문제 풀이 (0) | 2025.11.03 |
| xss-2 문제풀이 (0) | 2025.10.29 |
| simple_sqli 문제 풀이 (0) | 2025.10.28 |