不在显示错误的盲注

盲注介绍

在这里插入图片描述
盲注就是比如id=1 if()
也就是加上if条件判断true或者false
盲注和常规注入的区别就是返回值不同
常规是根据返回的信息进行猜测
盲注是指的是在不知道数据库返回值的情况下对数据中的内容进行猜测
即在盲注的sql查询中,服务器只会返回是,不是两种回答,因此就给我们的注入带来了麻烦

我们使用sqli的Less-8
id=8或者id=1时
都是显示you are in
输错了也不会回显,这就增加难度了
在这里插入图片描述
打开Less-8的index.php
在这里插入图片描述
只有正确时才会返回结果
错误时就注释掉了

基于时间的盲注

在这里插入图片描述
substr()截取字符后的某一部分
字符串就是数据库的第一个字母
然后转化为ascii码和115比较
相等了就停留三秒

接下来我们开始实验
以less-9为例
浏览器输入id=1
然后查看源代码–网络就可以看所用时间
结果就是显示you are in

接下来我们使用基于时间盲注
原sql语句为id=’id’ limit 0,1
浏览器输入id=1’ if(assic(substr(database(),1,1)=115,1,sleep(3))) --+
数字1表示执行次数
然后回车,你会发现时间比之前常规注入时间长了
结果就是出现you are in
所以可以盲注

我们来进行Less-10测试
id=1” if(assic(substr(database(),1,1)==115,1,sleep(3))) --+
此时是双引号

基于布尔的盲注

在这里插入图片描述
我们已Less-8为例
基于布尔型的单引号盲注
你可以查看8的index.php
发现是id=‘id’
所以采用以下
id=1’ and length(database())=10 --+
如果数据库正确,就显示you are in
错误什么都不显示

Sqlmap安全测试

以上比较复杂
人来做很复杂
不如让机器来做
使用sqlmap来
在这里插入图片描述
如果不加那个tech速度会很慢
是使用所有技术来注入
加了之后就使用特定技术来注入

猜你喜欢

转载自blog.csdn.net/qq_43776408/article/details/106561663