Information Security ˗ˋˏ ♡ ˎˊ˗

Security/WebHacking

[HackCTF Web] 보물

토오쓰 2019. 11. 28. 02:38

문제

 

풀이

page 1 버튼을 누르면, 랜덤한 해쉬 값들이 나오는 것을 볼 수 있었다.

page 3 버튼 말고 url을 통해 http://ctf.j0n9hyun.xyz:2025/?page=10 을 입력했을 때도 각각 다른 값들이 나왔다.

각각 page 버튼을 누를 때마다, GET방식으로 page=1, page=2, page=3을 전송한다는 것을 알게 되었다.

 

검색을 통해 python requests를 이용하여 코드를 작성하여 값을 출력해야 한다는 것을 알게 되었다.

해석: page 파라미터에 인자를 0부터 시작하여 flag값이 나올 때까지 1씩 증가시키며 request를 보내는 코드이다. 만약 request에 대한 응답에서 flag 형식의 문자열이 발견된다면 응답을 출력하고 break를 통해 종료하게 된다.

 

 

파이썬 코드를 작성하여 돌려보았을 때,

이런 결과가 나왔고 마지막에 flag 값이 보이는 것을 발견할 수 있었다.

 

python에서 HTTP 요청을 보내는 모듈인 requests 모듈을 잘 알아둬야 할 것 같다.

간단하게 정리하자면

www.tistory.com 이라는 주소로 GET 요청(request)을 보내고 서버에서는 그 요청을 받아 뭔가를 처리한 후 요청자인 나에게 응답(response)을 줄 수 있다. 그 응답은 200 상태 코드와 함께 왔다. 이는 티스토리 서버에서 잘 처리되어서 정상적인 응답을 보내줬다는 OK 싸인을 의미한다. 그리고 응답의 내용은 HTML 코드이다.

 

 

 

참고

https://dgkim5360.tistory.com/entry/python-requests

 

Python requests 모듈 간단 정리

Python에서 HTTP 요청을 보내는 모듈인 requests를 간단하게 정리하고자 한다. 0. 기본적인 사용 방법 import requests URL = 'http://www.tistory.com' response = requests.get(URL) response.status_code respo..

dgkim5360.tistory.com

 

 

'Security > WebHacking' 카테고리의 다른 글

[HackCTF Web] Read File  (437) 2019.11.28
[HackCTF Web] Guess me  (414) 2019.11.28
[HackCTF Web] Button  (431) 2019.11.20
[HackCTF Web] Hidden  (272) 2019.11.19
[HackCTF Web] /  (295) 2019.11.19