Try Attack/Web Hacking[basic]

File Inclusion

D4tai1 2018. 8. 12.

1. File Inclusion

- Web Serverresource를 권한 없이 가져오는 것을 말한다.

- Open source로 개발 된 Application은 디렉토리 구조가 알려져 있어서 $_GET, $_POST, $_Cookie 값을 전달 받을 때 매개변수의 값을 서버에서 검증하지 않아 취약점이 있다.

- 공격자가 대상 서버의 URL을 통해 공격코드를 삽입하여 공격을 시도한다.

 

1) 공격방법

- 서버의 URL을 통해 공격 코드를 삽입하여 공격한다.

- http://192.168.111.104/?page=/etc/passwd 와 같이 출력할 것을 작성한다.

 

 

2) RFI Attack(Remote File Include)

- 악성 스크립트를 서버에 전달하여 실행하는 방법이다.

- 원격지의 파일을 확인할 수 있다.

- 원격지의 파일을 실행할 수 있다.

- 외부사이트의 파일주소 내용을 실행할 수 있다.

 

- php 코드

if(isset($_GET['page'])) {

$file=$_GET['page'];

}

include($file. '.php');

- 파일이 있으면 file이라는 변수에 저장하고 실행한다.

- file이라는 변수에 php를 붙여 호출한다.

- 만약 php문을 호출하지 않을경우 ?를 사용하여 뒷부분은 생략이 가능하다.

 

3) 대응방안

- php환경설정파일 [/etc/php/7.0/apache2/php.ini]의 내용을 수정한다.

- allow_url_fopen = OFF [URL의 파일을 값처럼 사용하겠다. x]

- allow_url_include = OFF[원격지의 파일을 include 하겠다. x]

- 지정된 파일만 열도록 조건을 지정한다.

 

주의사항 : 취약한 사이트의 경우 공격이 통할 수 있으니 실제로 사용하지 마십시오.

'Try Attack > Web Hacking[basic]' 카테고리의 다른 글

Web hacking 이론  (0) 2019.04.27
File Upload  (0) 2018.08.12
프로토콜 분석  (0) 2018.08.12
Command Injection  (0) 2018.08.12
brute force  (0) 2018.08.11

댓글