문제 페이지는 해당 페이지와 같다.
Rank 와 Name, hit 의 목록들이 나열되어 있고 1위의 아이디를 클릭했더니 hit 의 숫자가 올라가는 것을 확인할 수 있었다.
다시 한번 더 아이디를 클릭하면 이미 투표를 했다는 창이 뜨면서 거부된다.
페이지의 소스 코드를 확인해도 특별한 단서를 찾지 못해 쿠키 값을 확인하였다.
vote_check 라는 쿠키항목이 존재하는 것을 확인할 수 있었다.
이 항목의 쿠키값을 지우고 다시 아이디를 누르면 hit 의 숫자가 증가하는 것을 확인할 수 있다.
<CTRL + F>를 이용하여 나의 아이디를 검색해보니 목록 가장 하단에 존재하였고 vote_check 쿠키 값을 이용하여 내 아이디의 hit 수를 100까지 증가시키면 문제가 풀릴 듯했다.
EditeCookie 프로그램을 이용하여 vote_check 쿠키를 필터링 시켜주는 과정을 거쳤다.
쿠키 값이 적힌 부분 옆에 빨간색의 차단 표시를 눌러 필터링 목록에 들어간다.
그리고 값으로 차단을 포함하여 전부 체크해주면 vote_check 쿠키 항목이 사라진 것을 확인할 수 있다.
이제 투표를 계속 할 수 있게되었다. 그렇지만 아이디를 100번 클릭하는것은 상당히 불편하여 python으로 프로그램을 작성해 보았다.
import requests
for i in range(99):
url="https://webhacking.kr/challenge/code-5/?hit=uggjjini"
cookie = {'PHPSESSID':'1234'}
session=requests.Session()
payload=session.get(url, cookies=cookie)
hit를 올릴때 url 에서 hit 파라미터에 아이디를 지정하여 패킷을 전달하는 것을 이용하여 프로그램을 작성하였다.
해당 프로그램을 실행하면 내 아이디의 hit 를 99번까지 올라가고 한번더 누르면 문제가 풀리는 것을 확인할 수 있다.
'프로젝트 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 29번 문제 (0) | 2021.07.19 |
---|---|
[Webhacking.kr] Challenge(old) 34번 문제 (0) | 2021.07.19 |
[Webhacking.kr] Challenge(old) 44번 문제 (0) | 2021.07.14 |
[Webhacking.kr] Challenge(old) 43번 문제 (0) | 2021.07.14 |
[Webhacking.kr] Challenge(old) 42번 문제 (0) | 2021.07.14 |