Lord of SQLi | WebHacking.kr

WebHacking.kr(#25)

Box Maker 2023. 4. 13. 00:26

25번문제 기본화면

 

1. 문제풀이

  • 해당 문제의 경우 웹서버의 어떤 파일들이 있는지 보여주고 있다. 아마 flag.php파일을 볼수 있다면 풀리는 문제로 보인다.
  • 먼저 기본화면에서 url을 살펴보면 /?file=hello가 보인다 이러한 방식으로 웹서버의 파일을 불러오는것 같다.
  • 그럼 바로 /?file=flag를 url에 입력해 해당 파일을 추출해보겠다.

 

file=flag의 화면

  • 하지만 파일의 소스코드는 보이지 않고 flag는 소스코드안에 있다고만 알려준다.
  • 해당 문제에서는 PHP Wrapper를 사용해서 소스코드를 뺴내보겠다.
  • 여기서 사용할 PHP Wrapper는 php://filter를 사용하겠다.
  • 주소?pages=php://filter/convert.base64-encode/resource=hi.php(기본 사용법)
  • 위 방법을 이용해 url창에 다음과 같이 입력하겠다.
  • http://webhacking.kr:10001/?file=php://filter/convert.base64-encode/resource=flag
  • 뒤에 확장자는 해당 웹서버에서 파일을 가져올 때 자동으로 붙여서 가져오는것으로 보여 빼고 진행하였다.

 

  • 이전과는 달리 다른문구가 보이지만 소스코드가 아니라 알아볼수 없는 문자가 보인다.
  • 해당 문구는 Base64로 소스코드가 인코딩 된것이다.
  • 인터넷에 Base64디코딩을 검색하면 디코딩해주는 사이트를 쉽게 찾을 수 있다.

 

  • Base64로 인코딩된 문자를 위와같이 디코딩하면 소스코드가 보여진다.
  • 쉽게 flag를 찾을 수 있다.