본문으로 바로가기

image-storage 문제풀이

category 모의해킹/Dreamhack Wargame 2025. 11. 18. 17:50
728x90

문제 설명

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