Network/DVWA

Exercise 4. File Inclusion

dcho 2019. 8. 8. 00:02
SMALL
파일 인클루젼 공격이란?
  • 지정한 파일을 PHP include()로 소스코드에 삽입
    • 로컬파일인클루젼(LFI) - 이미 시스템에 존재하는 파일을 인클루드
    • 리모트파일인클루젼(RFI) - 외부에 있는 파일을 원격으로 인클루드
  • (출처:인프런/화이트해커가-되기위한-8가지)


DVWA 실습
(Low)

소스코드는 다음과 같다.

파일업로드 공격 메인은 다음과 같다. 

먼저 찾은것은 1,2,3을 지나서 file4.php을 넣었는데 우연찮게 발견했다.. 근데 이게 끝이 아니라는게 느낌이 왔다. 

커맨드 인젝션을 이용해 fi 디렉토리를 찾고 어디쯤에 있는지 찾았다.

※패스 트래버설(Path Traversal) 공격 :  ../ 를 이용하여 상위디렉토리로 접근하는것
?page=../../../../../../etc/passwd 을 이용해 passwd를 까보았다.

인용구 5개를 찾아라고 했다.

?page=../../hackable/flags/fi.php를 이용해서 1,2,4 까지 찾았고 주석을 이용해 5까지 찾았다.

1.) Bond. James Bond
2.) My name is Sherlock Holmes. It is my business to know what other people don't know.

--LINE HIDDEN ;)--

4.) The pool on the roof must have a leak.
<!-- 5.) The world isn't run by weapons anymore, or energy, or money. It's run by little ones and zeroes, little bits of data. It's all just electrons. -->

커맨드 인젝션 을 이용해 3번째 인용구까지 찾아내었다. 
1.) Bond. James Bond
<?php
echo "2.) My name is Sherlock Holmes. It is my business to know what other people don't know.\n\n<br /><br />\n";

$line3 = "3.) Romeo, Romeo! Wherefore art thou Romeo?";
$line3 = "--LINE HIDDEN ;)--";
echo $line3 . "\n\n<br /><br />\n";
$line4 = "NC4pI" . "FRoZSBwb29s" . "IG9uIH" . "RoZSByb29mIG1" . "1c3QgaGF" . "2ZSBh" . "IGxlY" . "Wsu";
echo base64_decode( $line4 );
?>

<!-- 5.) The world isn't run by weapons anymore, or energy, or money. It's run by little ones and zeroes, little bits of data. It's all just electrons. -->

3.) Romeo, Romeo! Wherefore art thou Romeo?