반응형
문제분석 & 풀이
문제에 접속하면 투표 랭킹이 뜬다.
이번 문제의 의도는 무엇일까?라고 고민하던 중 혹시하는 마음으로 나의 닉네임을 검색했다.
검색결과 내 닉네임이 있었고 0표 970등이였다.
아하! 1등이 37표였으니 내 투표결과를 1등으로 만들면 해결되겠구나!라고 생각했다.
나의 닉네임을 클릭하니 투표가 됐고 확인해보니 0표에서 1표로 늘었다.
그리고 다시 한번 나의 닉네임을 눌러서 투표하니 이미 투표했다고 하면서 투표가 무효된다.
아마 서버쪽에 투표를 했는지 안했는지 정보를 넘기는 것이라고 추정되는데...
그래서 바로 쿠키부터 확인했다.
쿠키를 확인해보니 vote_check 라는 쿠키가 존재했으며 값도 ok이다.
쿠키 값을 없애고 다시 투표를 해보니 정상적으로 투표가 된다!
쿠키값을 없애고 투표하는 것을 반복하는 매크로를 만들어서 투표수를 올리면 문제가 해결될 것이다.
메크로를 만들어서 40표 정도 투표를 하니 1등이 됐다.
그러나 문제가 해결되지 않는 것을 보니 아마 100표를 모두 채워야하는 것 같다.
메트로로 100표를 모두 채우고 새로고침을 해보자!
클리어!
solve.py
from requests import *
for i in range(100):
url=f'https://webhacking.kr/challenge/code-5/?hit=[본인의 ID]'
cookies={'vote_check':'','PHPSESSID':'본인의 php 세션'}
response=get(url=url,cookies=cookies)
print('투표 완료!')
반응형