728x90
이번 포스트에서는 DVWA의 File Inclusion 문제를 실습해보겠다.
## 공격 정의
- 웹 애플리케이션에서 사용되는 파일을 포함하는 기능에 보안 취약점이 있는 경우 발생할 수 있는 공격 방법
- 악의적인 공격자가 원격지에서 실행되는 코드를 삽입하여 악의적인 행동을 하도록 유도할 수 있음
## 공격 유형
- Local File Inclusion (LFI) : 서버 내부에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격
- Remote File Inclusion (RFI) : 외부 웹사이트에 있는 파일을 읽어올 수 있는 취약점을 이용하는 공격
## 실습
DVWA의 File Inclusion 항목을 선택하면 아래와 같은 이미지가 보인다.
총 3개의 파일을 열람할 수 있다. 소스코드를 확인해보면 다음과 같다.
단순히 $_GET을 통해 page파라미터의 값을 받아오고 있다는 것을 알 수 있다.
우선 LFI 공격을 진행해보겠다. 버프스위트를 통해 파일을 열람하는 요청을 중간에 intercept한 다음에, 최상위 디렉터리로 이동한 후 "/etc/passwd"의 값을 확인해보겠다.
Response 값을 확인해보면 성공적으로 "/etc/passwd"의 값을 출력한 것을 알 수 있다.
이어서 RFI 공격을 진행해보겠다. 먼저 텍스트 파일을 하나 만들어보겠다.
텍스트 파일을 생성한 다음에, 해당 파일의 경로에서 python을 이용하여 간단한 웹서버를 하나 올려보겠다.
마지막으로 page 파라미터의 값을 웹서버의 주소 + 텍스트 파일명으로 설정하여, 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 |