File Upload ?
- 파일 업로드 기능이 있는 웹 상에서 업로드 파일에 대한 필터링 조치가 미흡하여 서버에서 실행될 수 있는 스크립트 파일이 서버에 업로드 되어 실행될 수 있는 취약점
- File Upload 취약점이 존재할 경우 웹 쉘이 웹 서버에 업로드 되고 실행되어 공격자가 서버를 장악할 수 있기 때문에 상당히 위험도가 높은 취약점 중 하나입니다.
DVWA 환경에서 File Upload 공격 실습
- 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨 환경에서 실습을 진행하였습니다.
- File Upload 탭으로 이동한 모습
- 일반적인 파일 업로드 기능이 있는 것을 확인할 수 있다.
- File Upload 기능을 구현한 소스코드
- 따로 업로드 대상 파일의 확장자를 검증하거나 제한하는 코드는 포함 되어있지 않은채 File Upload 기능을 구현한 것을 확인할 수 있다.
- 해당 File Upload 기능을 이용하여 사전에 구한 php 언어로 제작된 웹 쉘 파일을 업로드 한 결과
- 파일 업로드에 성공였다는 메시지와 함께 웹 쉘 파일이 저장된 경로를 출력해주는 것을 확인할 수 있다.
- 이전에 출력해준 경로로 이동하여 웹 쉘 파일을 실행한 결과
- File Upload 공격에 성공하여 웹 쉘 파일이 서버에 저장되어 서버 측에서 실행된 모습을 확인할 수 있다.
File Upload 공격 대응 방안
- 업로드 된 파일의 실행 권한 자체를 차단하여 파일이 업로드 되더라도 실행되지 않도록 한다.
- 웹 서버 측에서 업로드 대상 파일의 확장자를 화이트리스트 방식으로 제한하여 허용된 확장자만 업로드가 가능하도록 설정한다.
- 파일이 업로드 되는 디렉터리 위치가 사용자에게 노출되지 않도록 한다.
- 웹 서버와 업로드 서버를 물리적으로 분리한다.
'CERT > 웹 모의해킹 실습' 카테고리의 다른 글
[웹 해킹] SQL Injection / DVWA 환경 실습 / 대응 방안 (0) | 2023.06.14 |
---|---|
[웹 해킹] Insecure CAPTCHA / DVWA 환경 실습 / 대응 방안 ( 캡챠 우회 공격 ) (0) | 2023.06.03 |
[웹 해킹] File Inclusion 공격/DVWA 환경 실습/대응 방안 (0) | 2023.05.27 |
[웹 해킹] CSRF(Cross-Site Request Forgery) 공격/DVWA환경 실습/대응 방안 (0) | 2023.05.27 |
[웹 해킹] 무차별 대입 (Brute Force)공격/DVWA 환경 실습/대응 방안 (0) | 2023.05.21 |