본문 바로가기

wargame/WEBHACKING.kr

[WEBHACKING.kr]3 - fail

3

아무생각 없이 선택한 3번 문제. 뜬금없는 puzzle이 나왔다.

일단 뭐가 뭔지 모르기도 하고 또 소스에 힌트가 나와있지 않을까 해서 전부 해석해보았다.



[해석]





10form의 name은 kk, 데이터를 서버에 전달하는 방식은 url에서 볼 수 있는 방식인 get 방식, 데이터를 전송할 서버쪽 스크립트 파일은 index.php이다
13테이블의 속성 값 지정
14-21
23-30
32-39
첫 번째 줄 ~ 세 번째 줄
41-50네번째 줄
이 셀은 클릭했을 때, this의 style의 background가 black이 아니라면 this.style.background를 black으로 지정하고 kk._value를 1로 지정한다.
만약 black이 아니라면, this.style.background를 white로 지정하고 kk._n(n은 1부터 25까지의 정수)value를 0으로 지정한다.
52~94다섯 번째 줄 ~ 여덟 번째 줄
(이하 동일)
100-124hidden type으로 name이 n(n은 1부터 25까지의 정수)이고 값이 0인 데이터를 보낸다
125클릭 시 go()함수가 실행되는 버튼
130-136go()함수
132answer은 문자열 타입의 변수
133answer에 kk._1.value부터 kk._25.value까지 전부 문자열 덧셈을 한다
134answer 값을 name이 _answer인 kk 폼의 input의 value로 지정한다
135아직 잘 모름.. 값을 넘겨주는 것으로 추측

해봤더니 별 다른 특별한 게 나오지 않는다. 다만 알 수 있었던 것은 표 오른쪽 하단의 5x5의 셀은 클릭하면 value가 1 또는 0으로 변경되고 변경된 상태에서 gogo 버튼을 클릭하면 변경된 값을 서버로 전송한다는 것을 알 수 있었다. 맞는 값을 입력한다면 3번 문제를 클리어할 수 있을 것이라고 추측하였다. 또한 이렇게 추측할 수 있었던 까닭은 아무 셀이나 클릭하고 gogo 버튼을 클릭하였을 때 url이 잠시 변경되었기 때문에 추측을 확실시 할 수 있었다.
+) 참고 : 아무 셀이나 클릭하고 gogo버튼을 클릭했을 때 실제 url : http://webhacking.kr/challenge/web/web-03/index.php?_1=1&_2=0&_3=1&_4=0&_5=1&_6=0&_7=0&_8=0&_9=0&_10=0&_11=1&_12=0&_13=1&_14=0&_15=1&_16=0
&_17=0&_18=0&_19=0&_20=0&_21=1&_22=0&_23=1&_24=0&_25=1&_answer=1010100000101010000010101


내가 찾아낼 수 있는 힌트는 전부 찾아냈기 때문에 문제를 보면서 고민하였다. 클릭할 수 있는 5x5셀이 주어져 있고 그 주위로 숫자가 있으니 이 숫자들을 참고해야할 것 같았다. 생각해보니 숫자가 적힌 행 또는 열만큼 칸을 칠하면 될 것 같았다. 그리고 숫자가 여러 개 있다면 그 의미는 숫자의 값만큼 셀을 클릭하되 연속해서 셀을 클릭하지 말라는 의미로 생각하여 그 규칙대로 셀을 클릭하였다.




결과는 성공이었다!



이제 끝난 줄 알고 내 닉네임을 입력하고 버튼을 클릭하였더니 아래와 같은 화면이 출력되었다.



대체 언제 끝나... 다양하게 입력해도 실패였다...



name 페이지와 출력 페이지의 소스 코드를 확인해보았다. 지금 생각해보니 별로 논리적이지는 않은 것 같은데 hidden으로 서버에 전송하는 값의 name이 answer이여서 text에 아까 찾은 답인 1010100000011100101011111을 넣으면 되지 않을까 했는데 size와 maxlength 속성이 있어 답을 다 입력할 수 없었다. 그래서 개발자도구에서 html으로 편집하여 제한조건을 없애고 입력하였다.



그래도 실패였다. 구글링해보니 sql을 써야 한다고 한 것 같았다. 다음에 마저 풀어야겠다



'wargame > WEBHACKING.kr' 카테고리의 다른 글

[WEBHACKING.kr]6  (0) 2019.04.29
[WEBHACKING.kr]7 - fail  (0) 2019.04.16
[WEBHACKING.kr]4  (0) 2019.04.05
[WEBHACKING.kr]1  (0) 2019.04.03
[WEBHACKING.kr]register  (0) 2019.04.03