저장소

[webhacking.kr] 25번 풀이 본문

IT/웹 해킹

[webhacking.kr] 25번 풀이

huiu 2021. 8. 27. 11:30

https://webhacking.kr/

 

Webhacking.kr

Index Welcome Stranger! Chatting Notice(en) [2021-04-16] Score of old challenges has been adjusted to 1/10. For a while now, new challenges will be added "without" notice. [2020-08-12] Replace chat feature with Discord. Please do not cause inconvenience to

webhacking.kr

25번은 php와 관련된 문제다.

리눅스에서 ls 명령어를 사용한 것 같은 화면이 보인다. URL도 file=hello가 인자로 전달되고 있다.

file의 값을 flag, index 등으로 바꾸면 아래에 출력되는 메시지도 바뀐다. flag를 입력하니 FLAG is in the code라는 메시지가 출력된다. 하지만 페이지 소스를 확인해도 php 코드를 확인할 수 없었다.

 

이것저것 시도해보다가 결국 구글링으로 힌트를 얻었다.

php://filter라는 php wrapper를 사용하면 간단하게 풀 수 있는 문제라고 한다.

 

https://www.php.net/manual/en/wrappers.php

php://filter는 위와 같이 사용할 수 있다.

여기에서 read=somefilter의 somefilter는 base64로 인코딩해주는 convert.base64-encode를 사용해준다.

우리가 읽고 싶은 php 파일은 flag 이므로 resource=flag로 입력한다.

 

http://webhacking.kr:10001/?file=php://filter/read=convert.base64-encode/resource=flag 

위와 같이 URL을 입력해주면 된다.

그러면 출력이 바뀐 것을 볼 수 있다.

base64 decode 툴을 사용해서 디코딩해주자.

https://www.base64decode.net/

 

Base64 Decode - Online Tool

Base64 decode Decode base64 string from 'YmFzZTY0IGRlY29kZXI=' to 'base64 decoder'

www.base64decode.net

그러면 FLAG의 값이 나온다.

문제가 풀렸다.

 

'IT > 웹 해킹' 카테고리의 다른 글

[webhacking.kr] 26번 풀이  (0) 2021.08.30
[webhacking.kr] 10번 풀이  (0) 2021.08.30
[webhacking.kr] 24번 풀이  (0) 2021.08.27
[webhacking.kr] 12번 풀이  (0) 2021.08.23
[webhacking.kr] 39번 풀이  (0) 2021.08.23
Comments