概述
、
分类:布尔型、延时型
LOW等级
手工
1、首先了解业务,这里和回显注入不一样,不会显示id对应的用户名,只是告诉我们他存在即为真
输入-1,返回为假
三种注入POC(真 and 假=假)
尝试第一种情况,返回为真,说明数据没有注入进去,不存在SQL注入漏洞
输入第二种情况1' and '1024'='1025 ,返回结果为假没说明存在注入漏洞
尝试第三种情况1" and "1024"="1025,返回为真,说明数据没有注入进去,不存在SQL注入漏洞
2、确定字符串长度,(在猜解字符串时,首先要知道字符串的长度)
函数:
举例:
猜解:
通过二分法可确定字符串长度为4
3、获取字符串内容
函数:
举例
举例:
猜解:(采用二分法进行猜解),
依次获取第二个第三个第四个字符
4、延时型注入
函数:
举例:
利用延时注入猜解:
函数:
举例:
用于延时注入:
自动化
5、SQLmap
获取数据库名称
学习SQLmap注入方法:
-V参数表示输出详细信息。有六个等级这里选择3
mid和substr作用类似
可以发现SQLmap的思路和我们进行猜解时的的思路一样的
】
Medium等级
手工
1、
进行改包:结果为假,注入成功
自动化
2、SQLmap
High等级
1、手工
自动化
2、SQLmap
发现失效了
发现id在cookie 中
所以要用SQlmap 对cookie进行检测(level参数>=2)
获取用户名密码
Impossible等级
通过查看源码发现检测了id数据类型,使用了预编译绑定id变量,有效防止SQL注入
‘