본문 바로가기

WarGame/webhacking.kr

[webhacking.kr] Challenge 43 :: 파일 업로드 취약점 1 (Content-Type)


Challenge 45는 다음과 같습니다.



이미지 파일을 전송해보면 정상적으로 업로드가 됩니다.


▼ 이미지 파일을 전송했을 때, Request Header는 다음과 같습니다.




이번에는 webshell 파일 (확장자가 php)을 업로드 해보면 Access Denied가 뜹니다.


▼ webshell파일을 전송했을 때, Request Header는 다음과 같습니다.




문제에서 hint를 보면 File Type이라고 나와 있는데, 


Request Header의 Content-Type을 보고 필터링을 하고 있다고 추측을 해볼 수 있습니다.


  • Content-Type : 전자 우편의 파일 형식을 알리기 위해 사용되었지만, 이제는 HTTP, SIP와 같은 인터넷 프로토콜에도 사용되고 있습니다.



그렇다면 webshell 파일을 업로드하고, 


▼ 다음과 같이 Content-Type을 image로 수정하여 전송해 보겠습니다.



예상대로 Success!