티스토리 뷰
크롬에서는 동작하지 않아서 사파리를 이용하였다.
문제를 보면 붉은 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 |