Yozzang의 해킹일기 💻
article thumbnail
Published 2023. 3. 12. 01:08
DVWA (File Inclusion) Wargame/DVWA
728x90

이번 포스트에서는 DVWA의 File Inclusion 문제를 실습해보겠다.


## 공격 정의

  • 웹 애플리케이션에서 사용되는 파일을 포함하는 기능에 보안 취약점이 있는 경우 발생할 수 있는 공격 방법
  • 악의적인 공격자가 원격지에서 실행되는 코드를 삽입하여 악의적인 행동을 하도록 유도할 수 있음

## 공격 유형

  • Local File Inclusion (LFI) : 서버 내부에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격
  • Remote File Inclusion (RFI) : 외부 웹사이트에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격

## 실습

DVWA의 File Inclusion 항목을 선택하면 아래와 같은 이미지가 보인다.

DVWA

총 3개의 파일을 열람할 수 있다. 소스코드를 확인해보면 다음과 같다.

소스 코드

단순히 $_GET을 통해 page파라미터의 값을 받아오고 있다는 것을 알 수 있다.

 

우선 LFI 공격을 진행해보겠다. 버프스위트를 통해 파일을 열람하는 요청을 중간에 intercept한 다음에, 최상위 디렉터리로 이동한 후 "/etc/passwd"의 값을 확인해보겠다.

LFI

Response 값을 확인해보면 성공적으로 "/etc/passwd"의 값을 출력한 것을 알 수 있다.

 

이어서 RFI 공격을 진행해보겠다. 먼저 텍스트 파일을 하나 만들어보겠다.

text file

텍스트 파일을 생성한 다음에, 해당 파일의 경로에서 python을 이용하여 간단한 웹서버를 하나 올려보겠다.

Web server

마지막으로 page 파라미터의 값을 웹서버의 주소 + 텍스트 파일명으로 설정하여, RFI 공격을 통해 해당 텍스트 파일의 내용을 불러오겠다.

RFI

텍스트 파일의 내용이 성공적으로 출력된 것을 확인할 수 있다.

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

DVWA (SQL Injection)  (0) 2023.03.15
DVWA (Insecure CAPTCHA)  (0) 2023.03.14
DVWA (File Upload)  (0) 2023.03.13
DVWA (Command Injection)  (0) 2023.03.11
DVWA (Brute Force)  (0) 2023.03.10
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!