본문 바로가기

Webhacking/Webhacking.kr

[Webhacking.kr] Old-25 풀이

https://webhacking.kr/old.php

 

Webhacking.kr

 

webhacking.kr


그림 1

문제를 보면 위에 글자들이 있고 아래에 입력할 수 있는 칸 같은 부분이 있다.

그리고 url에서 file=hello라고 되어있는 부분을 알 수 있다.

 

일단 아래의 칸에 아무 값이나 입력해보았는데 아무 일도 일어나지 않았다.

F12로 소스코드를 확인해주었다.

 

그림 2

특이하게 얻을 수 있는 부분은 없었다.

그런데 자세히 보니 문제 화면에서 위의 글자에 hello.php가 있고, url에도 file=hello를 했을 때 해당 화면이 출력되었다.

 

 

그러면 나머지 두 개의 flag와 index도 동일하게 가능하지 않을까 하고 해 보았다.

그림 3

Flag를 입력하니 FLAG is in the code라는 문구가 출력되었다.

Flag는 코드 안에 있다고 한다. 해당 파일의 코드를 알아야 하는 것이라고 예측할 수 있다.

 

다음은 index를 입력해보았다.

그림 4

Index를 입력하니 아무 일도 일어나지 않았다.

 

어떻게 flag의 코드를 볼 수 있나 찾아보니 PHP Wrapper라는 방식을 사용해야 한다고 한다.

그리고 그중 php://filter라는 기능을 사용해야 한다고 하는데

 

 

기존 주소/?file=php://filter/convert.base64-encode/resource=파일이름

기존 주소/?page=php://filter/convert.base64-encode/resource=파일이름

 

 

과 같은 url 형식을 사용하면 파일의 내용을 base64 형식으로 암호화된 상태로 볼 수 있다고 한다.

 

위의 파일 이름에 flag를 넣어서 입력해보았더니 아래의 그림과 같이 암호화된 문구가 출력되었다.

 

그림 5

이제 위의 문구를 복사해서 base64 디코딩 사이트에 입력해주었더니 아래와 같이 flag가 출력되었다.

그림 6

그리고 webhacking.kr 사이트 내의 auth란에 인증을 하면 문제가 완료된다!

그림 7

 

'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