- webhacking.kr - 18번문제 -
[sql injection]
1. sql injection 문제이다. 하단의 index.phps링크를 클릭하여 소스를 확인한다.
2. index.phps소스 확인 결과 admin 은 no값이 2 일때 나오는것을 유추해볼수 있다.
그렇다면 2 or 1 를 입력시 no=1 <= false 이고 false or 1 이므로 true 값이 되면서 guest가 나와야 한다는것을 미루어 짐작할수있다.
3. 1을 입력시 guest가 나온다.
4. 1 or 2 나 2 or 1을 넣었을때 no hack 이라고 뜬다.
이유는 eregi에 띄어쓰기 검사가 있으므로 띄어쓰기를 하면 안된다.
그러므로 %0a를 쓰도록 한다.
2 or 1 => 2%0aor%0a1 대입시 guest가 출력된다.
5. guest=1 이고 admin=2이므로 1을 넣었을때 guest가 나오는건 당연한것이므로 2를 넣기위해 limit 을 사용하도록 하자.
최종 쿼리 = 2%0aor%0a1%0alimit%0a1,1 를 url 부분 no=뒷부분에 삽입한다.
이문제는 이미 풀었던 문제이므로 already solved 메세지가 뜨는데, 원래는 hi admin 과 password가 출력된다.
이상 webhacking.kr 4번문제 sql(url) injection 이였습니다.
댓글 없음:
댓글 쓰기