본문 바로가기
보안

Chapter 11. 파일 인클루전 공격

qbang 2019. 3. 3.

Chapter 11. 파일 인클루전 공격

파일 인클루전 공격 개요

- 주로 PHP 애플리케이션을 대상으로 발생, PHP의 인클루드 기능(include() 함수를 사용하여 다른 파일을 소스 코드에 직접 인클루드시킬 수 있는 기능)

- 호스트 내부의 파일이냐 외부 파일이냐에 따라 리모트 파일 인클루전 or 리모트 파일 인클루전으로 구분

- ../../../../../etc/passwd와 같이 여러 번 입력하여 루트 디렉토리까지 이동 가능 -> 디렉터리 트래버셜 공격

 

파일 인클루전 공격 실습

 

- bad.php 파일을 /var/www/html로 이동

 

- low 단계에서 file1.php를 클릭하면 url에서 page=include.php 부분을 확인할 수 있음

- 파일의 경로가 파라미터를 통해 전달되면 파일 인클루전 공격이나 디렉터리 트래버셜 공격을 시도해볼 수 있음

page=http://<칼리리눅스 ip>/bad.php

 

- bad.php 파일이 인클루드되어 실행됨 + /etc/passwd의 내용이 출력됨

 

- ../../../../../를 입력한 이유는 파일 인클루전 실습 페이지의 호스트 내 경로이기 때문임 어쨌든 passwd 파일 내용 출력됨

 

파일 인클루전 공격 대응

- 외부 사용자가 입력한 파일 이름을 인클루드에 사용하지 않는 것인데 쓸 경우에는 입력 값을 검증해야 함

 

 

해당 포스팅은 '화이트해커를 위한 웹 해킹의 기술' 책 내용을 바탕으로 작성되었습니다.

'보안' 카테고리의 다른 글

Chapter 13. 민감한 데이터 노출  (0) 2019.03.04
Chapter 12. 파일 업로드 공격  (0) 2019.03.03
Chapter 10. XSS 요청 변조(CSRF) 공격  (0) 2019.03.01
Chapter 09. XSS 공격  (0) 2019.03.01
Chapter 08. Command 인젝션 공격  (0) 2019.02.28

댓글