-
<Root-me> File upload - Null byteWargame/Root-me = Web - Server 2022. 1. 11. 11:32
사진 갤러리에서 upload를 통해 파일을 upload 할 수 있다.
문제 설명을 보면
갤러리에 PHP 코드를 업로드시켜 해킹하라고 한다.
업로드 가능 확장자는 GIF, JPEG, PNG만 가능하다.
PHP 웹 셸 코드를 준비하여
Burp Suite로 Content-Type만 바꿔서 업로드해보면
잘못된 확장자라고 한다.
해당 경로에 접근해도 "404 Not Found"를 출력한다.
문제 제목에 Null Byte를 참고하여 구글링 해보면
Null Byte Injection을 찾을 수 있다.
Null Byte Injection은 URL로 인코딩 된 널 바이트 문자(%00 or 0x00)를 입력 데이터에 이용하여 악성코드 파일을 업로드시켜 시스템 권한을 획득하거나 주요 파일을 탈취할 수 있다.
앞에서 업로드한 것과 같이 웹 셸 코드를 업로드시키고
Burp Suite를 이용해
파일명 뒤에 %00.png를 추가하고, Content-Type을 image/png로 변경해주면
파일이 정상적으로 업로드되었다.
해당 경로로 들어가지 않고 upload로 다시 돌아오면
test.php를 확인할 수 있다.
이 파일을 열면
비밀번호를 획득할 수 있다.
'Wargame > Root-me = Web - Server' 카테고리의 다른 글
<Root-me> PHP - register globals (0) 2022.01.14 <Root-me> PHP - Filters (0) 2022.01.13 <Root-me> Directory traversal (0) 2022.01.11 <Root-me> PHP - assert() (0) 2022.01.10 <Root-me> JSON Web Token(JWT) - Introduction (0) 2022.01.08