Webhacking.kr 워게임 사이트에 로그인 한 후, 'Challenges' 페이지에 접속한다.
* Login
* Challenges
Challenges 페이지에서 3번을 클릭하면 다음과 같은 3번 문제의 페이지를 볼 수 있다.
화면을 보면 네모네모로직이라는 게임인 것 같다.
* 네모네모로직 게임 튜토리얼 : http://nemonemologic.com/tutorial.php
페이지에 출제된 문제는 아주 기본적인 네모네모로직 문제로서, 튜토리얼만 연습해보면 바로 해결할 수 있다.
정답보기
정답을 제출하면 아래와 같은 페이지로 이동한다.
'name' form에 아무 값을 넣어 전송해보면 다음과 같이 3개의 값이 응답으로 돌아온다.
돌아오는 응답에 'answer'이라는 값이 무엇인지 확인해보기 위하여 'name' 값을 다르게 하여 다시 요청해보자
하지만 어떠한 name 값을 전달해도 동일한 answer 값이 돌아오는 것을 확인할 수 있다.
응답 페이지의 answer만을 보고는 더 이상 얻을 정보가 없는 것으로 보이므로, 다시 'name' 제출 페이지로 돌아간다.
제출 페이지에서 '소스보기'를 하면 아래와 같이 hidden 속성으로 특정 값을 요청시 보내는 것으로 확인된다.
또한, 해당 값은 우리가 받았던 anwser 값인 것으로 파악된다.
전달되는 파라미터를 이용해서 SQL Injection 공격을 시도해보자
먼저 answer 값에 'or1=1을 추가하여 보내본다.
결과 값으로 'no hack'이라는 응답이 돌아온다.
아마도 특정 문자열을 필터링 하는 등의 공격 방어가 적용되고 있는 것으로 생각된다.
차례대로 answer 값에 하나의 문자열만 보내서 필터링 여부를 확인한다.
' : no hack
"or1 : no hack
=1 : no hack
&&1 : Successed
||1 : Successed
&&(AND)와 ||(OR) 값이 필터링 되지 않고 DB로 전달되는 것 같다.
OR 1을 이용해서 DB 값을 탈취해보면 아래처럼 admin의 정보가 출력된다.
* answer=1010100000011100101011111||1
획득한 admin의 answer을 아래 사이트에 입력하면 level 3의 모든 과정이 완료된다.
* http://webhacking.kr/index.php?mode=auth
- 끝 -
출처 : warsolve.org, http://warsolve.org/w_webhacking.kr/ko-kr/level-3.aspx
'----WARGAME---- > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 5번 풀이 - Directory Traversal, Directory Listing and Code Obfuscation (0) | 2017.07.02 |
---|---|
Webhacking.kr 4번 풀이 - Decode (0) | 2017.07.02 |
Webhacking.kr 2번 풀이 - Blind SQL Injection (1) | 2017.07.01 |
Webhacking.kr 1번 풀이 - Cookie 변조 (0) | 2017.07.01 |
Webhacking.kr - 로그인 및 회원가입 (0) | 2017.07.01 |