profile image

L o a d i n g . . .

article thumbnail image
Published 2021. 5. 17. 21:49

PHP wrapper 문제

문제 접속 창

주소창을 보면 get 방식으로 파일명을 받아와 (파일명).php 에 접속하는 것 같다.

 

file=flag 입력

flag.php 에 접속한 모습 -> "FLAG is in the code" 라고 뜬다.

php 코드 내에 flag가 존재하는 것 같다.

그렇지만, 서버 내에 존재하는 php 코드는 노출되지 않는다.

 

이때 php wrapper 을 이용할 수 있다.

PHP는 입출력, 오류 파일 기술어 등에 엑세스 할 수 있는 다양한 I/O 스트림을 제공하는데 이것을 PHP Wrapper라고 한다. 이 문제에서 그 중 'php://filter'라는 wrapper를 사용할 것이다.

 

php://filter의 경우, 서버 안의 문서들을 열람할 수 있게 해준다. (encode 또는 decode의 형태로)

www.[웹사이트주소]/?file=php://filter/convert.base64-encode/resource=파일명 을 활용하면, base64로 인코딩된 파일을 얻을 수 있다.

 

 

file 뒤에 다음과 같이 입력해주면 base64 인코딩된 php 소스 코드가 나온다.

 

다음 사이트를 이용해서 base64 디코딩을 해준다.

https://www.base64decode.org/

 

Base64 Decode and Encode - Online

Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data.

www.base64decode.org

 

 

FLAG{this_is_your_first_flag}

 

플래그를 입력해주면 된다.

'Wargame > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] 27번  (0) 2021.05.17
[Webhacking.kr] 26번  (0) 2021.05.17
[Webhacking.kr] 24번  (0) 2021.05.17
[Webhacking.kr] 23번  (0) 2021.05.17
[Webhacking.kr] 20번  (0) 2021.05.14
복사했습니다!