webhacking.kr old 32번 문제풀이(Writeup)
문제를 들어가면 위와 같이 출력된다. 저 중 아무 이름이나 클릭하면 투표가 되고 값이 1 오른다.
이후 다시 이름을 누르면 이미 투표했다는 알림 창이 출력된다. 코드도 보고, 쿠키도 한번 확인해보자.
vote_check라는 쿠키가 있다. 이걸로 투표를 확인하고 있을 것이라는 생각이 든다. 그래서 쿠키 값을 0으로 변조하고
이번엔 내 아이디에 투표를 했다.
1이 증가했다. 쿠키 값을 변조해서 투표를 100번 하면 해결될 것으로 예상된다. 그럼 이제부터 이 귀찮은 일을 어떻게 해결할지 고민했다. 공부 중인 학생이기에 스크립트를 작성하는 게 옳다고 생각했다.
import requests
for i in range(0,100,1):
url = 'https://webhacking.kr/challenge/code-5/?hit=eunhokim98'
cookie = {'PHPSESSID':'j9trs32mhfsk69ncd5me8q27fo','vote_check' : '0'}
requests.get(url, cookies=cookie)
print(i)
python requests를 이용해서 cookie를 직접 입력해주는 방법을 찾았고, 위와 같은 코드를 작성하였다. cookie는 현재 아이디가 나라는 것을 인증하기 위한 PHPSESSID와 투표를 확인하는 vote_check를 넣었다.
투표가 진행되고 있는지 확인하기 위해 마지막 줄에 print(i)를 넣었다. 정상적으로 작동하는 모습이 보인다.
이를 통해 old 32번 문제를 해결하였다.
처음 해킹을 시작할 땐 스크립트를 작성하는게 가장 어려웠다. 지금은 계속하다 보니 requests 모듈을 이용하는 것에
두려움이 없어진 느낌이다. 오늘도 발전하고 있다.
참고사이트
https://marisara.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-rquests-3-header%EC%99%80-cookie
'웹해킹 > webhacking.kr' 카테고리의 다른 글
webhacking.kr old 20번 문제풀이(Writeup) (0) | 2022.10.04 |
---|---|
webhacking.kr old 58번 문제풀이(Writeup) (0) | 2022.10.03 |
webhacking.kr old 31번 문제풀이(Writeup) (0) | 2022.09.28 |
webhacking.kr old 27번 문제풀이(Writeup) (0) | 2022.09.27 |
webhacking.kr old 25번 문제풀이(Writeup) (0) | 2022.09.26 |