오랜만에 root-me 문제를 풀어보았습니다.ㅠㅠ
PHP filter 문제이고, 어드민 패스워드를 찾으면 된다고 하네요.
우선, 문제를 들어가보면, home과 login 버튼이 활성화 되어있습니다. 클릭해봅니다..
[home] 버튼을 클릭하면 URL 상에 inc 파라미터로 해당 php파일이 들어가있습니다.
LFI 문제가 아닌가 의심해봅니다.
상위폴더로 이동하는 특수문자 "../"을 삽입해보았더니 경고 문구가 뜨면서 LFI 가능성을 높여줍니다.
inc 파라미터에 php파일 경로를 쓰면, php 파일 소스를 볼 수 있는게 아니라 실행이 되어버립니다.
저는 방법을 찾다가 LFI-cheat-sheet에서 PHP Wrapper 방법을 찾았습니다. 자세한 정보는 아래의 링크를 참고하세요.
>> https://highon.coffee/blog/lfi-cheat-sheet/
따라서, inc 파라미터에 php wrapper를 이용해 [php://filter/convert.base64-encode/resource=파일경로]를 삽입하면 인코딩된 문자열이 보입니다.
디코딩ㄱㄱ
BASE64 디코더 >> http://www.convertstring.com/ko/EncodeDecode/Base64Decode
해당 문자열을 디코딩 하니까 ch12.php의 소스코드가 보입니다! 해당 소스에서 config.php라는 의심스러운 php 코드를 찾았고,
다시 php wrapper를 이용해 config.php경로를 삽입하니 인코딩된 문자열이 나오구요
디코딩해보니!! 어드민 패스워드를 찾을 수 있었습니다%^^%
'Study > Wargame' 카테고리의 다른 글
[root-me] SQL injection - string (0) | 2019.02.07 |
---|---|
[root-me] LFI - Double Encoding (1) | 2019.01.17 |
root-me >> SQL injection - blind (0) | 2018.06.08 |
root-me>>SQL injection - numeric (0) | 2018.05.01 |
root-me >> Command injection (0) | 2018.04.24 |