Iriton's log
[Dreamhack] Lv-1 image-storage 본문
문제 설명
php로 작성된 파일 저장 서비스입니다.
파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다.
문제 페이지이다.
Upload 하면 List에 스택이 쌓일 거 같다.
업로드 했을 시 뜨는 창이다.
List에 가면 업로드 된 파일이 저장되어 있고,
클릭하면 파일이 실행된다.
업로드 했을 때 저장된 경로까지 친절히 알려 주고
직접 그 경로에 접속하여 파일을 실행시켜 준다.
이를 이용하면 flag 값을 얻을 수 있다.
파일 업로드 취약점을 이용해 보자.
여기서 파일 업로드 취약점이란?
원하는 파일 경로 또는 파일 명을 업로드할 수 있다면,
공격자가 웹 어플리케이션 또는 서버의 서비스가 참조하는 파일을 업로드하여 공격한다.
다시 돌아가서,
해당 문제는 php로 작성된 서비스라고 했으니
php로 flag를 얻을 수 있는 코드를 작성해 보자.
제대로 작동된다면 List에서 해당 파일을 실행하면 flag값을 얻을 것이다.
<?php
system("cat /flag.py");
?>
php 파일 형식은 대충 위와 같다.
더블쿼츠 안에 리눅스 명령어를 쓰는 것이다.
처음엔 flag.py일 거 같았는데... 아무것도 안 뜨는 걸 보니 아닌가 보다.
txt 파일로 해보자.
<?php
system("cat /flag.txt");
?>
경로는 맞았고 파일 형식만 달랐나 보다.
List에서 파일을 클릭하면 코드가 실행돼서 flag 값이 보인다.
'WebHacking > WarGame' 카테고리의 다른 글
[root-me] Challenge: File upload - Double extensions (0) | 2023.10.04 |
---|---|
[Webhacking.kr] old-28 write-up (0) | 2023.10.04 |
[Dreamhack] file-download-1 (0) | 2023.09.27 |
[Webhacking.kr] old-12 write-up (0) | 2023.09.25 |
[Root.me] Challenge: Javascript - Authentication (0) | 2023.09.25 |
Comments