Tiny Bunny

Rookies/클라우드 기반 취약점 진단 및 대응 실무

[SK shieldus Rookies 19기] 07 - File Upload (Burp Suite Academy)

bento 2024. 5. 15. 21:57
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

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

 

가. 문제점

[CASE 7] File Upload

Web Security Academy 서비스 내 일부 페이지에서 업로드 파일 값에 대한 필터링 검증이 부재하여 Avatar 기능 이용/사용 시 악성 스크립트 삽입 및 실행이 가능하며 이로 인해 타사용자의 인증정보 획득 및 악성 코드 유포 가능성이 존재합니다.

그림 1. My account 경로 확인

 

그림 2. 주어진 계정으로 로그인 진행

 

그림 3. 파일 업로드 기능 확인

 

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

/home/carlos/secret 을 읽어오기 위한 스크립트를 작성한다. 

 

그림 4. 작성한 스크립트 업로드

 

그림 5. 정상적으로 업로드 진행

 

그림 6. 업로드된 상태 학인

 

그림 7. 작성한 스크립트가 실행되어 의도한 파일을 읽어온 모습

 

나. 관련 URL

번호 경로 URL
1 Login > My account /my-account/avatar
2   /files/avatars

 

다. 해결 방안

업로드하는 파일 타입과 크기를 제한하고 업로드 디렉터리를 웹서버의 document 외부에 설정해야 합니다. 화이트리스트 방식으로 허용된 확장자만 업로드 되도록 하고, 확장자도 대소문자 구분 없이 검증할 수 있게 구성해야 합니다. 업로드되는 파일 경로 및 파일명에는 “../”, ”;”, ”%0” 등과 같은 특수문자도 제한해야 합니다.

728x90