< 문제 해결 >
그림 1과 같이 Nonogram을 풀어주면, 아래와 같이 GET 인자값이 전송되며, 그림 2의 페이지로 이동한다.
https://webhacking.kr/challenge/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=0&_12=1&_13=1&_14=1&_15=0&_16=0&_17=1&_18=0&_19=1&_20=0&_21=1&_22=1&_23=1&_24=1&_25=1&_answer=1010100000011100101011111
그림 2에서 볼 수 있듯이 input창이 존재하는데, name=id이다. 필자는 SQL Injection을 해당 입력 창에 시도했었지만, 그대로 출력이 될 뿐, Injection 되지 않았다.
그림 3에서 볼 수 있듯이 name = answer이며, value 값이 존재하는 hidden 속성을 가진 input 태그를 발견했다.
그림 4와 같이 answer value에 SQL Injection을 시도했으며, 문제를 해결할 수 있었다.
그림 5와 같이, 개발자도구를 통해 코드를 조작하여, 문제를 해결할 수도 있다. ( ' or 1=1#(공백) )
그림 6도 그림 5와 주석 표기방법만 다를 뿐 의미가 같은 코드이다. ( ' or 1=1--(공백) )
그림 6에서 id = 1 전송 시, 그림 7과 같이 ip가 기록되며, solve됨을 볼 수 있다.
한줄 평: 노노그램을 배우게 될 줄이야..
< 참고 >
http://www.tcpschool.com/html-tag-attrs/form-action
http://www.tcpschool.com/html-tag-attrs/input-value