kjh00n의 기록저장소

File Upload 취약점 본문

어플리케이션 보안 운영

File Upload 취약점

kjh00n 2025. 1. 13. 10:23

File Upload 취약점

● 웹 서버가 제공하는 파일 업로드 기능을 이용하여 악성 스크립트를 업로드하는 공격

● 서버에서 실행될 수 있는 파일을 업로드하여 공격자가 원하는 기능을 동작하게 함

● 적절한 검증 없이 파일 업로드 기능을 제공할 때 발생하는 취약점 → 확장자 검증 필요

 

보안 대책

● upload 되는 파일의 확장자를 검사해야 한다

  • 확장자에 대한 허용/거부 목록을 작성하여 검증 수행

● 파일이 업로드 되는 디렉토리의 권한을 적절하게 설정해야 한다


취약점 실습

파일이름을 test.php로 변경하고 테스트한 점


upload2.php 파일 설정

이후에 똑같이 홈페이지에서 upload2.php 파일 올려주기

http://192.168.50.50/board/upload/upload2.php?hello=cat%20/etc/httpd/conf/httpd.conf 라고 입력하면 그 파일을 가져옴


필터링 실습

board_write_ok.php 파일에 설정 ↓

# 파일 확장자 검사
        if(preg_match("/.php|.html|.php3|.phtml/i",$f_name)) {
            echo "<script>
            alert('올바르지 않은 파일입니다');
            history.back();
            </script>";
            exit();
        }

php파일을 업로드하려고 함
필터링되어서 UPLOAD 불가능

 

'어플리케이션 보안 운영' 카테고리의 다른 글

WAPPLES (웹 방화벽)  (0) 2025.01.13
File Download 취약점  (0) 2025.01.10
Directory Listing 취약점  (0) 2025.01.10
Time Based SQL Injection  (0) 2025.01.10
Blind SQL Injection / Boolean SQL Injection  (0) 2025.01.09