Luv{Flag}
article thumbnail
Published 2022. 10. 10. 16:41
PHP LFI취약점 - PHP wrapper Web/php
반응형

 

해당 취약점은 php에서 다른 파일을 동적으로 불러올때 발생할 수 있다.

<?php
          include $_GET['page_number']'.php';
?>

 

> GET요청에 대한 검증없이 page_number 에 대한 값을 include 해주고 있다.

 

 

위 코드를 예로들어 보자.

개발자가 예상하지 못한 값을 인자로 넘겨, 알려지기를 원치 않는 정보를 확인할 수 있는 간단한 LFI가 가능한 코드이다.

그러나 include의 특성상 해당 파일을 실행 시켜주는것으로 

 

 

1. 주석, 변수, 등 파일의 전체 내용을 확인해야 할 경우

2. system 커멘드를 사용해야 할 경우

3. zip파일의 압축을 풀고 해당 파일을 실행시켜야 할 경우

php wrapper을 사용하여야 한다.

 

expect:// system command를 실행시켜 준다
php://filter encode / decode 옵션으로 서버 안에 존재하는 문서를 열람할 수 있다.
zip:// zip파일의 압축을 풀고 해당파일을 실행한다(웹쉘 응용)

 

 

 

 

예시코드에서의 wrapper 사용법

 

expect://  :  ?page_num=expect://ls
php://filter : ?page_num=php://filter/convert.base64-encode/resource=[목적 파일]       (base64로 인코딩하여 확인)
zip://        :  ?page_num=zip://file.zip#web_shell.php

반응형

검색 태그

loading