HW_chick hacker
{{HW}}
« 2025/12 »
| 일 |
월 |
화 |
수 |
목 |
금 |
토 |
| |
1 |
2 |
3 |
4 |
5 |
6 |
| 7 |
8 |
9 |
10 |
11 |
12 |
13 |
| 14 |
15 |
16 |
17 |
18 |
19 |
20 |
| 21 |
22 |
23 |
24 |
25 |
26 |
27 |
| 28 |
29 |
30 |
31 |
|
|
|
관리 메뉴
HW_chick hacker
DVWA실습 -File Inclusion 본문
File Inclusion ?
- 주로 PHP 애플리케이션에서 발생하는 취약점 중 하나로 include() 함수로 다른 파일을 소스 코드에 직접 삽입할 수 있고, 일반 사용자가 웹 요청을 통해 include 할 파일을 직접 설정할 수 있는 경우 발생되는 취약점
- 동적으로 파일을 로드할 때 발생하는 취약점으로 로드하는 파일의 위치에 따라 LFI(Local File Inclusion)과 RFI(Remote File Inclusion)으로 구분된다.
LFI ( Local File Inclusion ) ?
- 공격자가 공격 대상 서버에 위치한 파일을 include 하여 공격
- 즉, 로드하는 파일의 위치가 공격 대상에 위치한다.
RFI (Remote File Inclusion ) ?
- 원격으로 외부 서버에 있는 파일을 include 하여 공격
- 즉, 로드하는 파일의 위치가 공격 대상 서버가 아닌 외부 서버에 위치한다.
- URL을 확인하면 include.php 라는 파일을 include 하여 해당 페이지를 출력하는 것을 확인할 수 있다.
- 예상된 내용을 기반으로 page 파라미터에 시스템 정보가 들어있는 파일 중 하나인 /etc/passwd 경로에 파일을 입력하여 include 를 시도한 결과
- LFI 공격에 성공하여 해당 시스템 정보 파일이 include 되어 출력되는 모습을 위 사진에서 확인할 수 있다.
File Inclusion 대응 방안
RFI 공격 대응 방안
- file inclusion 공격이 많이 발생되는 애플리케이션인 php를 기준으로 php.ini 파일에서 allow_url_fopen, allow_url_include, display_errors 설정을 모두 Off 로 설정하여 RFI 공격이 불가능 하도록 설정한다.
- 파일 이름을 입력 받아 include 하는 경우 입력값을 검증할 수 있는 로직(White List 방식 또는 Black List 방식)을 구현하여 반드시 필요한 파일만 include 할 수 있도록 구현한다.