본문 바로가기

Webhacking/Webhacking.kr

[Webhacking.kr] old-10번 문제 풀이

728x90
반응형

10번문제는 뭐가 이렇게 길게 있다.

코드를 살펴보니 onclick에 무언가 정보가 적혀있다.
저 글자를 한번클릭하면 우측으로 1px움직이며, 1600px가 되면, go라는 파라미터에 현재 위치를 담아 전송한다.
즉 저 글자의 위치를 클릭을 통해 1600px로 이동시키면 문제가 풀린다.

풀이방법은 정말 많지만 간단하게는 두개가 있다.

  1. 직접 go 파라미터에 1600px를 넣어, 요청을 시도한다.
  2. javascript 코드 수정을 통해 1px씩 움직이던 것을 1600px씩 움직이도록 수정한다.

먼저 첫번째 풀이방법은 코드에 나온대로 ?go=1600px를 uri뒤에 붙여주는 것이다.
다만 여기서 그냥 이렇게만 진행하면 no hack을 만날 수 있다.
왜냐하면 해당 문제는 링크 클릭을 통해서 풀리도록 의도한 문제다 보니, 직접 접근에 대해서 제한을 하고 있기 때문이다.

하지만 우회할 수 있다. 바로 Referer를 추가해주면 된다. 
내가 이전 페이지에서 클릭해서 온것처럼, 출발지의 URI를 넣어줌으로써 문제를 해결 할 수 있다.

1차 해결 완료!

2번째 방법은 1px씩 더해지던것을 javascript 수정을 통해 1600px로 변경하여 한번의 클릭으로 if문에 부합하도록 만드는 것이다.
이렇게 풀이할 경우, 글자에 href속성이 더해지며 하이퍼링크가 걸리고, 그걸 클릭함으로써 문제를 풀 수 있다.

EASY

다만 2번 풀이의 경우 풀릴때가 있고 안풀릴 때가 있다.
왜인지는 모르겠지만 자꾸 301이 오면서 실패를 하는데, 캐시나 몇가지 원인이 있을듯 하다.
분석을 해봐도 뭔가 코드 문제라기 보다는 내 PC상태의 문제인것 같다.
역시 답은 재부팅인가...ㅋㅋㅋ 캐시를 지워도 안되네... 묘하다. 맘에안든다 ㅋㅋ

728x90
반응형