ABOUT ME

Today
Yesterday
Total
  • [load of sql injection] goblin
    webhacking/load of sql injection 2018. 11. 15. 15:49
    반응형

    id 부분에 변수 값이 아닌 'guest'로 지정을 한 문제이다.

    mysqli_fetch_array 반환 한 값을 가진 id변수가 admin이면 문제가 풀린다.

    싱글쿼터 ' 더블쿼터 "  "prob"문자열 모두 필터링이 된다.

    그래서 필자가 처음에 생각했던 방법인 

    union select * from prob_goblin where id = 'admin' 은 수행되지 않고 필터링 된다.

    Db 테이블을 머릿속으로 생각해보면서 

     1 

    guest

    2

      admin 


    이렇게 2개의 데이터와 순서로 되있을거라 추측했다.

    그래서 결과순서를 order by로 거꾸로 하였더니 풀렸다.

    * db table을 추측하는 것도 필요하다.

    * and를 끝내면 or 로 모두 출력이 된다.

    * 문자열은 쿼터로 묶어주어야한다, "admin", 'admin'

    * select 에서 id만을 찾기 때문에 id 값이 아닌 no 값만 맞추어도 그에 맞는 id가 나온다. admin도 2로 하면 나옴

    solve 1 -> order by

    order by [컬럼A] ASC : 오름차순 정렬

    order by [컬럼A] : 오름차순 정렬


    order by [컬럼A] DESC : 내림차순 정렬


    select A, B from C order by A DESC, B; : A 내림차순, B 오름차순


    select A from C where A < 10 order by A DESC; : 조건식 내림차순  


    Solve 2 -> char

    CHAR(77,121,83,81,76); : ASCII 코드 값을 해당하는 문자 또는 문자열로 반환한다.

    * 문자열로 반환되기 때문에 문자열로 인식한다.


    Solve 3 -> Hex

     or id = 0x123456789 : 이런식으로 Hex값을 집어넣으면 싱글쿼터 없이 admin 문자열로 전달할 수 있다.

    * admin으로 하면 쿼터가 없어서 변수로 인식한다.

    * Hex로 하면 문자열로 반환되기 때문에 문자열로 인식한다.

    Solve 4 -> no 게싱

    no 가 1이면 guest하고 맞기 때문에 출력 

    admin은 1이 아닌 값이다.

    or no = 1~ ... 까지 게싱하여 대입하면 admin이 나올 것이다. 

    Solve 5 -> limit 게싱

    limit 0, 1 : 테이블 첫 번째 값에서 한 개만 가져온다는 의미이다.

    limit에서 Index는 0부터 시작한다.

    Solve 6 -> ord()

    ord( 인자1 ) : 인자1의 문자열의 가장 왼쪽 값을 아스키코드로 변환한다. 

    ord(id) = 97 : id 컬럼의 데이터 중 문자열 가장왼쪽에 아스키코드가 97인 값을 찾아라.


    /* 조건을 어떻게 하는건지 공부하자 */

    id = 'admin' : id컬럼에서 admin인 데이터 조건

    ord(id) = 97 : id컬럼에서 가장 왼쪽 문자 아스키 코드값이 97인 조건

    반응형

    'webhacking > load of sql injection' 카테고리의 다른 글

    [load of sql injection] darkelf  (0) 2018.11.16
    [load of sql injection] woolfman  (0) 2018.11.16
    [load of sql injection] orc  (0) 2018.11.16
    [load of sql injection] cobolt  (0) 2018.11.14
    [load of sql injection] gremlin  (0) 2018.11.14
Designed by Tistory.