문제를 보면 위에 글자들이 있고 아래에 입력할 수 있는 칸 같은 부분이 있다.
그리고 url에서 file=hello라고 되어있는 부분을 알 수 있다.
일단 아래의 칸에 아무 값이나 입력해보았는데 아무 일도 일어나지 않았다.
F12로 소스코드를 확인해주었다.
특이하게 얻을 수 있는 부분은 없었다.
그런데 자세히 보니 문제 화면에서 위의 글자에 hello.php가 있고, url에도 file=hello를 했을 때 해당 화면이 출력되었다.
그러면 나머지 두 개의 flag와 index도 동일하게 가능하지 않을까 하고 해 보았다.
Flag를 입력하니 FLAG is in the code라는 문구가 출력되었다.
Flag는 코드 안에 있다고 한다. 해당 파일의 코드를 알아야 하는 것이라고 예측할 수 있다.
다음은 index를 입력해보았다.
Index를 입력하니 아무 일도 일어나지 않았다.
어떻게 flag의 코드를 볼 수 있나 찾아보니 PHP Wrapper라는 방식을 사용해야 한다고 한다.
그리고 그중 php://filter라는 기능을 사용해야 한다고 하는데
기존 주소/?file=php://filter/convert.base64-encode/resource=파일이름
기존 주소/?page=php://filter/convert.base64-encode/resource=파일이름
과 같은 url 형식을 사용하면 파일의 내용을 base64 형식으로 암호화된 상태로 볼 수 있다고 한다.
위의 파일 이름에 flag를 넣어서 입력해보았더니 아래의 그림과 같이 암호화된 문구가 출력되었다.
이제 위의 문구를 복사해서 base64 디코딩 사이트에 입력해주었더니 아래와 같이 flag가 출력되었다.
그리고 webhacking.kr 사이트 내의 auth란에 인증을 하면 문제가 완료된다!
'Webhacking > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Old-32 풀이 (0) | 2021.09.09 |
---|---|
[Webhacking.kr] Old-27 풀이 (0) | 2021.09.09 |
[Webhacking.kr] Old-54 풀이 (0) | 2021.09.09 |
[Webhacking.kr] Old-39 풀이 (0) | 2021.09.09 |
[Webhacking.kr] Old-24 풀이 (0) | 2021.09.09 |