본문 바로가기

스터디/CTF

ctf 공부 11일차

HackCTF 

Web - 보물

 

주어진 페이지에서 버튼을 눌러주면 page변수에 그 숫자를 넣어주고, 일정한 길이의 값을 출력한다. 

해시값 같아서 길이를 확인해보니 128글자였다. 길이 128의 해시값을 만드는 것은 sha512이니, sha512해시를 떠주는 페이지라고 보면 되겠다.

page변수에 get방식으로 어떤 값을 넘겨주든, sha512해시만 떠준다...

 

페이지 숫자 중에 비밀이 있어서 거기에 보물을 숨겨놨다고 해서, 여러모로 추측해보았으나 모르겠어서 라업을 봤다.

그냥 정말 다양한 숫자를 page변수로 넘겨주어서 맞추는 방식을 요구하는 문제였다. 

 

간단한 코드를 작성해서 돌리거나 BurpSuite의 Intruder도구를 이용가능하다고 한다.

코드를 작성해볼 것인데, 이때 사용가능한 requests모듈을 우선 알아보자.

모듈 명 requests (python에서 http요청을 보내는 모듈)
설명 HTTP 요청을 더 간단하고 인간 친화적으로 만드는 것.
웹 브라우저에서 다양한 웹페이지를 접속한 것과 동일한 과정을 수행할 수 있다. 
가장 인기있는 파이썬의 라이브러리 중 하나이며, 기본적으로 파이썬으로 배포되는 것도 제안받았다고 한다.
설치 아래의 경로에 다양한 프로그램들이 깔려 있다.
그 중 파이썬이 깔린 폴더에 가서 requests를 설치한다.
간단 사용
requests 모듈을 import 해주고, get으로 URL을 정해주어 접속 요청했을 때의 응답을 받아온다.
status_code로 HTTP상태 코드를 확인 가능하고, text로 응답받은 내용을 확인 가능하다.


다시 볼 것: Python requests 모듈 간단 정리 :: 개발새발로그 (tistory.com)

 

코드 작성하여 flag를 확인했다.

'스터디 > CTF' 카테고리의 다른 글

ctf 공부 11일차  (0) 2021.07.18
ctf 공부 10일차  (0) 2021.07.14
ctf 공부 9일차  (0) 2021.07.13
ctf 공부 8일차  (0) 2021.07.12
ctf 공부 7일차  (0) 2021.07.11