도카이트

[DVWA] File Inclusion (Low) 본문

Web/DVWA

[DVWA] File Inclusion (Low)

dodoh4t 2022. 5. 18. 23:08
728x90
반응형

File Inclusion Vulnerability

공격자가 악성 스크립트를 서버에 전달하여, 해당 페이지를 통해 전달한 악성 스크립트 또는 코드가 실행되도록 하는 취약점이다. 삽입 파일의 위치에 따라서 RFI(Remote File Inclusion)LFI(Local File Inclusion)으로 분류된다.

 

 

페이지 화면

[DVWA - File Inclusion]

- file1.php / file2.php / file3.php 총 3개의 php가 링크되어 있다!

- URL에는 page 값으로 include.php가 입력되어 있음을 확인할 수 있다.

 

 

소스코드

[File Inclusion 페이지 - 소스코드]

- $file이 GET 메소드를 통하여 page 파라미터 값으로 해당 파일을 불러오는듯 하다!

- 해당 코드를 통해 File Inclusion 취약점을 이용한 공격이 가능함을 짐작해볼 수 있다.

 

 

먼저 File Inclusion 취약점은 두 가지 유형으로 분류할 수 있다.

  • RFI (Remote File Inclusion)
  • LFI (Local File Inclusion)

 

1. RFI (Remote File Inclusion)

 파일이 공격 대상 서버가 아닌 공격자의 서버 또는 외부 서버에 존재하며,

 공격 대상의 서버에 외부에 존재하는 코드 또는 파일을 실행할 수 있는 공격 취약점

 

2. LFI (Local File Inclusion)

파일이 공격 대상 서버 내부에 존재하며, 공격자가 임의로 공격 대상 서버 내의 파일을 실행하고,

열람할 수 있는 공격 취약점

 

 

file.php 클릭 시 출력 화면

[file1.php 클릭 시 출력 화면]

- 링크되어 있는 file1.php 클릭 시 page의 파라미터 값으로 file1.php로 삽입되어 탐색된다.

- 따로 그림 첨부는 하지 않았지만, file2.php / file3.php도 동일한 매커니즘으로 페이지가 렌더링된다.

- 소스코드에서 살펴본 바와 같이 File Inclusion 취약점을 이용하여 공격을 시도해도록 한다!

- page의 파라미터 값에 스크립트를 삽입하여 공격을 시도해보자!!

 

 

RFI (Remote File Inclusion)

1. 외부 서버에 임의의 파일 생성

[외부 서버에 실습용 임의 파일 생성]

- 외부 웹 서버 루트 디렉토리에 공격 실습에 사용할 임의의 파일을 작성한다.

- P4C 웹 개발 과제때 사용했던 AWS ec2 윈도우 서버를 이용하였다!

- RFI_test.txt 파일을 실습용 파일로 사용할 예정이다 !

 

 

2. page의 파라미터 값에 외부 서버 주소 삽입

[RFI 공격 성공 화면]

- 앞서 생성한 외부 서버에 위치한 RFI_test.txt 파일이 로드되어 공격 대상 서버에서 출력된다!

- RFI 취약점을 이용한 공격이 성공적으로 이루어졌음을 확인할 수 있다!

 

 

2. LFI (Local File Inclusion)

[LFI 공격 성공 화면]

- 공격 대상 서버가 Linux 환경임을 이미 알고 있으므로 /etc/passwd 파일을 목표로 공격을 진행

- 상위 디렉토리가 많이 위치되어 있을수도 있음을 감안하여, ../ 을 여러번 입력하여

  성공적으로 /etc/passwd 파일이 로드될 수 있도록 스크립트를 작성

- 공격 대상 서버의 /etc/passwd 파일이 페이지 상단에 출력됨을 확인할 수 있다!

- LFI 취약점을 이용한 공격이 성공적으로 이루어졌음을 확인할 수 있다!

728x90

'Web > DVWA' 카테고리의 다른 글

[DVWA] Insecure CAPTCHA (Low)  (0) 2022.05.19
[DVWA] File Upload (Low)  (0) 2022.05.19
[DVWA] CSRF (Low)  (0) 2022.05.18
[DVWA] Command Injection (Low)  (0) 2022.05.16
[DVWA] Brute Force (Low)  (0) 2022.05.16
Comments