모의해킹/Dreamhack

php-1 [WEB LEVEL1]

철민1234 2023. 4. 5. 21:20
728x90

문제 정보

LFI 취약점은 외부의 파일을 내부의 파일처럼 사용할 수 있음 대부분 URL을 통해 가져온다(GET 방식)

 

 

소스 코드

소스코드를 보니 flag 문자열이 포함되면 Permission denied 메시지가 출력이 되는 걸 볼 수 있다.

 

flag 필터링을 우회하기 위해서는 PHP warpper 라는 우회 기법이 있다.

 

**php warpper는 다양한 I/O스트림을 다루는데 사용하며, encode/decode 옵션을 사용하여 서버 안에 존재하는 문서들을 열람할 수 있다. 

ex) php://filter/convert.base64-encode/resource=해당 경로 및 파일

 

 

문제 풀이

php://filter/convert.base64-encode/resource=/var/www/uploads/flag 페이로드를 사용해 문제를 풀 수 있다.

그리고 나온 값을 base64로 디코딩 해주면 flag 값을 얻을 수 있다.