티스토리 뷰

Wargame/Webhacking.kr

Challenge 10

do9dark 2015. 7. 6. 17:23

크롬에서는 동작하지 않아서 사파리를 이용하였다.

문제를 보면 붉은 2개의 줄 사이에 회색 줄이 있고 왼쪽에는 O 표시가 있고, 오른쪽에는 | 와 buy lotto가 결승선처럼 되어 있다.


O 표시를 누르면 결승선을 향해서 오른쪽으로 이동을 하고 마우스를 올려놓으면 yOu 표시로 변화는 것을 볼 수 있다.


소스를 보면 O 표시가 this.style.posLeft==800에 만족할 경우 this.href=?go=800이 실행되는 것을 알 수 있다.


이를 이용하여 http://webhacking.kr/challenge/codeing/code1.html?go=800 로 접근 해보면 no hack이 표시 된다.



다른 방법으로 시작 위치를 799로 주고 한번만 클릭하면 800이 되도록 하거나 시작 위치를 0으로 주고 한번 클릭 시 800이 되도록 설정하면 문제를 쉽게 풀 수 있다.

이를 바탕으로 알 수 있는 사실은 ?go=800을 하기 전에 이전 주소가 http://webhacking.kr/challenge/codeing/code1.html 이어야 한다는 것을 알 수 있다.

즉 앞에서 바로 http://webhacking.kr/challenge/codeing/code1.html?go=800으로 값을 줄 경우 Referer: http://webhacking.kr/challenge/codeing/code1.html 가 없기 때문에 no hack 표시가 발생한다는 것을 알 수 있다.

정리하자면 http://webhacking.kr/challenge/codeing/code1.html?go=800로 요청을 할 때 Referer: http://webhacking.kr/challenge/codeing/code1.html 만 헤더에 추가해서 하면 문제를 풀 수 있다.


따라서, 다음과 같이 간단하게 http://webhacking.kr/challenge/codeing/code1.html 페이지에서 자바스크립트를 실행해서도 풀 수 있다.

document.location.href=("?go=800")

또는 아래와 같은 코드로도 문제를 풀 수 있다.

document.write("<a href='?go=800'>go</a>");



'Wargame > Webhacking.kr' 카테고리의 다른 글

Challenge 15  (0) 2015.07.07
Challenge 14  (0) 2015.07.07
Challenge 13  (0) 2015.07.06
Challenge 12  (0) 2015.07.06
Challenge 11  (0) 2015.07.06
Challenge 9  (0) 2015.07.05
Challenge 8  (0) 2015.07.05
Challenge 7  (0) 2015.07.05
Challenge 6  (0) 2015.06.28
Challenge 5  (0) 2015.06.27
댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
공지사항
Total
Today
Yesterday