Webhacking.kr Challenge 32 풀이.
32번 문제를 보면 위와 같은 화면이 뜬다.
join을 눌렀더니 사용자 아이디가 순위표에 올라오게 된다.
그래서 표에 있는 아이디를 누르고 join을 눌러보니 no! 라는 문구가 떴다.
그렇다면 내 아이디를 누르고 join을 눌러보니 여전히 no가 떴다.
오른쪽 부분을 보면 0/100이라고 되어 있는 부분이 보인다.
HIT라고 되어 있는데 횟수가 올라가는 것을 보니 아이디를 누른 횟수 같다.
문제는 내 아이디를 누르든, 임의의 아이디를 누르든 똑같이 no만 세어진다.
소스 보기를 한 번 해보겠다.
전체 소스는 아니지만, 부분적인 소스를 봐도 딱히 중요한 건 없다.
그럼 쿠키쪽으로 한 번 봐보자.
음.. vote_check를 보면 no!라는 것이 아니라 ok라고 적혀 있다.
일단 hit가 안되는 게 이것 때문인지 아닌지 확인을 위해 ok라는 것을 지워보고 내 아이디를 누른 다음 join을 눌러본다.
신기하군........ no! 가 뜨지 않고 0/100 <= 1/100으로 바뀌었다.
그렇다면 쿠키 값만 지우면 해결되는 거 같아서 쿠키 값이 영구적으로 지워졌는지 확인해봤다.
아래와 같이 ok는 지워지지는 않았다.
ok를 지우고 다시 join을 하면 아래와 같이 숫자가 증가하는 것을 알 수 있다.
하나 알 수 있는 건 다른 값을 넣어도 ok만 아니라면 hit이 증가하는 것을 알 수 있다.
이런 식으로 HIT를 100까지 채우면 된다.
아마 100/100이 되면 문제가 풀리는 것 같다.
EditThisCookie를 누르면 vote_check가 있는데 이 것을 지우면 숫자를 계속 카운트 가능하다.
vote_check를 차단해버리니까 쿠키가 생기지 않아서 클릭만 하면 생성된다.
Cf) 이렇게 노가다 해도 되고, 좀 더 빨리 하려면 주소창에 적어서 값을 바꾸면 된다.
javascript:alert(document.cookie="vote_check=0")
물론 주소창에는 javascript는 복사 안 된다.
또한 python로 코드를 짜도 되고, wireshark를 사용해도 된다.
'# Related site issues > WEBHACKING.KR' 카테고리의 다른 글
Webhacking.kr Challenge 1. (0) | 2018.05.04 |
---|---|
Webhacking.kr Challenge 58. (0) | 2018.05.03 |
Webhacking.kr Challenge 27. (0) | 2018.05.02 |
Webhacking.kr Challenge 25. (0) | 2018.05.02 |
Webhacking.kr Challenge 19. (0) | 2018.05.01 |