CTF/Web
[HackCTF] 보물 문제 write-up
chipkkang
2022. 2. 10. 01:04
문제소개

문제풀이

HackCTF의 보물이라는 문제이다.
그리고 보물상자 그림 밑에는 Page 1, Page 2, Page 3 버튼이 있다.
그러나 Page 1을 눌러도, 다른 버튼을 눌러도 위의 그림처럼
알 수 없는 복잡한 문자열이 출력되었다.
느낌상, 알맞은 페이지가 되면 문자열에 이상한 값이 아니라
Flag를 출력하게 되는 것임을 짐작할 수 있다.
그러면 어떻게 flag를 출력할 수 있는 페이지를 찾을 수 있을까?
방법은 두 가지 정도 있을 것이다.
1. 하나하나 URL에 넣어가면서 브루트포싱한다.
2. 브루트포싱하는 프로그램을 작성한다.
당연히 100이면 100 변태가 아닌이상 2번을 더 좋다고 생각할 것이다.
Python을 통해 flag를 찾는 프로그램을 작성해보기로 했다.
프로그램의 코드는 다음과 같다.
import requests
URL = 'http://ctf.j0n9hyun.xyz:2025/?page='
i = 0
while(1):
i+=1
response = requests.get(URL+str(i))
print(i)
if "HackCTF" in response.text:
print(response.text)
break
해당 프로그램을 실행시키면
1225번째 page에 페이지에 flag가 예쁘게 나오는 것을 확인할 수 있다.
