power-girl0-0

[webhacking.kr - old] 25번 본문

War game/webhacking.kr

[webhacking.kr - old] 25번

power-girl0-0 2021. 6. 27. 05:53
728x90

주소 : https://webhacking.kr/old.php

 

Webhacking.kr

 

webhacking.kr


 [ 풀이 ] 

리눅스 환경으로 출력되어 있는 것을 볼 수 있으며, 느낌상 flag.php파일을 읽으면 풀릴 듯 하다!


먼저, get방식으로 file이라는 곳에 hello가 적혀있는 것을 확인할 수 있다.

그래서, hello 대신 flag를 적어보았다!

FLAG is in the code라는 구문이 출력되는 것을 확인할 수 있다.

직접 경로를 넣어도 보니, 아래와 같이 같은 구문을 출력한다!

음,,, 서버에 있는 flag.php페이지를 어떻게 읽을까??에 대해 고민하다가 검색을 통해 알게 되었다!


 

LFI(Local File Inclusion) 취약점인 것을 알 수 있었다.

이 문제의 경우, php가 버전이 높아지면서 php wrapper을 활용해 LFI 공격을 해야하기 때문에 아래 주소를 참고하면 될 듯하다.

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

 

대표적으로 3가지를 주로 사용하는데, 이는 아래와 같다.

  1. expect://   
    system command를 실행시켜주는데 사용한다.
    expect://ls와 같이 사용하면, system command의 ls를 실행해서 디렉토리가 노출되게 된다.

  2. php://filter
    서버 안의 문서들을 열람할 수 있게 해주는데, encode 또는 decode형태로 보여준다.
    이는 www.[웹주소]/?file=php://filter/convert.base64-encode/resource=파일명 으로 활용하며,
    해당 명령어는 base64로 인코딩된 파일을 얻을 수 있다.

  3. zip://
    zip파일의 압풀을 풀어주고, 푼 파일 안의 코드를 실행시켜준다.

위에서 조사한 것을 바탕으로 해당 문제를 풀 때는 php://filter의 wrapper를 사용해서 소스코드 확인을 하면 될 듯 하다!

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

그 결과, base64로 인코딩된 값을 출력해준다.

아래 사이트를 이용해서, 디코딩한 결과 소스코드를 확인할 수 있었다.

( base64 디코딩 사이트 : https://www.convertstring.com/ko/EncodeDecode/Base64Decode )


해당 플래그 값을 얻었는데, 어디다가 넣어야 되지,,,?ㅋㅋㅋㅋㅋㅋㅋ

찾아보다가, webhacking.kr의 페이지에 Auth라는 곳이 있는 것을 확인할 수 있다.

문제 클리어~~~

 

 

728x90

'War game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr - old] 27번  (0) 2021.06.28
[webhacking.kr - old] 26번  (0) 2021.06.27
[webhacking.kr - old] 24번  (0) 2021.06.27
[webhacking.kr - old] 23번  (0) 2021.06.27
[webhacking.kr - old] 22번  (0) 2021.06.27
Comments