Lab: Web shell upload via extension blacklist bypass
Lab: Web shell upload via extension blacklist bypass | Web Security Academy
This lab contains a vulnerable image upload function. Certain file extensions are blacklisted, but this defense can be bypassed due to a fundamental flaw in ...
portswigger.net
블랙리스트 우회 File upload Attack
/home/carlos/secret 내용을 추출하면 문제해결
[기본 설정] 프록시 설정, ACCESS THE LAB의 주소를 Burp Suite에 설정
(1) 블로그에서 My account로 이동하여 로그인을 합니다.
ID와 PW는 wiener / peter 입니다.
(2) 프로필에 exploit.php를 업로드 합니다.
php 파일 내용은 이전 포스트 (4)-1 참고
[보안 취약점 진단 및 대응/port swigger:Lab 풀이] - Lab: Remote code execution via web shell upload
Lab: Remote code execution via web shell upload
Lab: Remote code execution via web shell upload https://portswigger.net/web-security/file-upload/lab-file-upload-remote-code-execution-via-web-shell-upload Lab: Remote code execution via web shell upload | Web Security Academy This lab contains a vulnerabl
psjin230.tistory.com
이번에는 exploit.php 파일이 업로드 되지 않습니다.
=> 확장자가 php가 아닌 다른 확장자로 업로드해야함
(3) exploit.jin1216을 업로드 합니다.
exploit.php 파일의 확장자만 바꾸면 됩니다. 확장자명은 임의의 값을 입력합니다.
(4) 업로드 패킷을 확인합니다.
=> 업로드 파일이 코드로 실행되는 것이 아닌 단순히 문자열로만 출력이 되고 있음
=> 존재하지 않는 확장자(jin1216)을 넣었을 때 일단 작동을 한다는 것은 블랙리스트로 확장자 검증을 하고 있음을 알 수 있음
(4) .htaccess를 업로드 합니다.
패킷을 통해 아파치 서버를 사용한다는 것을 확인했으며, 아파치에는 .htacces라는 것이 있습니다.
.htaccess파일에서 htaccess는 hypertext access의 약자로 .은 숨김파일을 뜻합니다. 서버 디렉토리 하위의 설정을 컨트롤 할 수 있는 설정파일입니다. 일반적으로 아파치에서는 이 파일을 허용하고 있지는 않습니다.
사용법 : https://httpd.apache.org/docs/2.4/ko/howto/htaccess.html
아파치 투토리얼: .htaccess 파일 - Apache HTTP Server Version 2.4
아파치 투토리얼: .htaccess 파일 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. .htaccess 파일을 사용하여 디렉토리별로 설정을 변경할 수 있다. .htaccess 파일(
httpd.apache.org
(4)-1 .htaccess 파일을 생성합니다.
[.htaccess]
AddType application/x-httpd-php . jin1216
=> php의 실행 타입임을 의미하고 .뒤의 값은 (3)에서 설정한 확장자를 넣어주면 됩니다.
(4)-2 .htaccess 파일을 업로드 합니다.
(5) 패킷을 확인합니다.
.htaccess 파일 업로드 패킷을 보면 403 Forbidden이 출력되지만 정상적으로 업로드 된 것입니다.
(6) 이전에 (3)에서 업로드 했던 파일을 다시 업로드 합니다.
(7) 패킷을 확인하고 파일 내용을 추출합니다.
exploit.jin1216 파일 업로드 패킷을 보면 파일 내용을 볼 수 있습니다.
(8) 문제해결
블로그 상단 Submit solution 버튼을 클릭하고 (7)번에서 추출한 파일 내용을 붙여넣습니다.