WarGame/Webhacking.kr

[Webhacking.kr] old-25 Answer

Old-25 Domain & Tool

  • 구분 : Blind SQL Injection
  • 문제풀이에 사용된 도구 
    • Chrome 103.0.5060.66 
    • python Module(Requests, beautrifulsoup)

 


Old-25 Question & Answer

문제의URL은 다음과 같다.

  • http://webhacking.kr:10001/?file=hello

화면에는 'ls -al'을 웹서버에서 사용한 듯한 표시와 TextArea가 하나 보인다. 중간에 Hello World를 써져 있는 것을 보아 file파라미터의 결과 + ".php"의 echo 결과 등을 저 TextArea에 표시해주나보다. 일단 flag로 바꾸어보자

플래그는 코드안에 있다고 한다. 일단 코드를 봐야할거 같은데, flag.php로 직접들어가면 다음과 같은 안내를 받을 수 있다.

또한 특별한 방법을 알수는 없으니 다른 방법으로 코드의 식별이 가능토록 작성해야되겠다.

 

PHP Wrapper를 사용해서 코드의 base64인코딩값 을 노출 시킬 것이다. PHP Wrapper가 무엇인지 알고 싶은 분은 다음의 페이지를 참고바란다.(조만간 사용법과 정리를 올려야되겠다)

 

PHP: Predefined Constants - Manual

All STREAM_ AND PSFS_ constants values :PSFS_ERR_FATAL => 0PSFS_FEED_ME => 1PSFS_FLAG_FLUSH_CLOSE => 2PSFS_FLAG_FLUSH_INC => 1PSFS_FLAG_NORMAL => 0PSFS_PASS_ON => 2STREAM_BUFFER_FULL => 2STREAM_BUFFER_LINE => 1STREAM_BUFFER_NONE => 0STREAM_CAST_AS_STREAM =

www.php.net

코드는 다음과 같다. base64값을 획득할 수 있다.

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

출력문자의 base64를 디코딩하면 flag가 포함된 소스코드를 획득할 수 있다.

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

[Webhacking.kr] old-27 Answer  (0) 2022.07.28
[Webhacking.kr] old-26 Answer  (0) 2022.07.28
[Webhacking.kr] old-24 Answer  (0) 2022.07.27
[Webhacking.kr] old-23 Answer  (0) 2022.07.27
[Webhacking.kr] old-22 Answer  (0) 2022.07.27