본문 바로가기
about Security/웹보안과 해킹

[웹해킹] # 파일 인클루젼 공격

by saniii 2020. 11. 12.

파일 인클루젼 공격

파일 인클루젼 공격 : 주로 PHP application을 대상으로 발생한다.

 

? PHP에 존재하는 include 함수는 다른 파일을 소스 코드에 직접 include할 수 있는 기능으로

Include할 파일을 외부 사용자가 설정할 수 있는 경우 파일 인클루드 취약점이 존재하게 된다.

 

파일 인클루젼 공격의 종류

> LFI (Local File Inclusion, 로컬 파일 인클루젼)

공격 대상의 서버에 있는 파일을 include하여 공격한다.

 

> RFI (Remote File Inclusion, 리모트 파일 인클루젼)

외부 서버(주로 공격자가 관리하는)의 악성 코드를 include하여 공격한다.

 

웹 어플리케이션이 file.php를 인클루드 -> 이때 웹 요청의 page 파라미터를 통해 file.phpinclude 되는데 공격자가 file.php 대신 악성 코드 bad.php를 인클루드하도록 한다.

 

따라서 웹 어플리케이션이 입력값을 수행하지 않으면 bad.php 파일이 include되어 실행된다.

 

 

파일 인클루젼 공격 대응

> 외부 사용자가 입력한 파일 이름을 include하지 않도록 설정하는 것이 가장 좋다.

> 가능하지 않은 경우 입력값을 검증하도록 한다.

           - 화이트리스트 검증 사용 : include가 필요한 파일만 허용하고 나머지는 차단하도록 한다.

           - 블랙리스트 검증 이용 : 프로토콜 관련 문자열이나 디렉터리 트래버셜 공격을 위한 문자열을 차단한다.

 

댓글