ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Lord of SQL_injection] #1 gremlin
    $ 웹 해킹 $/los.rubiya.kr 2019. 2. 10. 22:44

    php코드가 제공되어 있습니다.

     

    If($result['id']) solve("gremlin")에서 id 결과값이 있다면 해결되는 문제 입니다.

     

    하지만 query 보면 select id from prob_gremlin where id='' and pw='' 에서 id pw and 연결 되어 있기 때문에 두값이 전부 참이어야 한다는 것을 알수 있습니다.

     

    파라미터값에 id = "1" 넣어 보겠습니다.

     

    파라미터값을 1 넣을 때는 ?id=1 같이 ? 사용해 줍니다.

    파라미터 값에 따라서 query 나타나 있습니다.

     

    이번엔 id=1 pw=1 넣어 보겠습니다.

    하지만 query빼고는 달라진 점이 없습니다. Id 값이 무엇이든 간에 pw 참이어야 할것 같습니다.

    파라미터를 다음과 같이 ?id=1&pw=1' or '1'='1 적은 이유는 기본적으로 pw=''이라는 문자열이 미리 작성 되어 있었고 데이터는 ' ' 감싸야 하기 때문에 다음과 같이 넣었습니다.

     

    GREMLIN Clear!

     

    해당 문제는 제가 문제 풀이에 사용한 방법만 있는 것은 아닙니다.

     

    ?id=' or '1'#        ->    ' or '1'%23

    위의 방법은 가장 쉬운 방법이라고 생각됩니다.

    ?id=' union select '1'#     ->  ?id=%27%20union%20select%20%271%27%23

    위의 방법은 union select 이용한 sql injection입니다.


    등등 여러가지 방법이 있습니다!.

    댓글

Designed by Tistory.