布尔盲注(Boolean Blind SQL Injection)是一种SQL注入攻击技术,用于在无法直接获得查询结果的情况下推断数据库信息;它通过发送不同的SQL查询来观察应用程序的响应,进而判断查询的真假,并逐步推断出有用的信息。接着我们以DVWA靶场中的SQL Injection(Bind)为例子进行解释;


可以看到该靶场只能显示数据库中是否存在该ID,并不会显示其他数据,那么此时我们就无法直接获得查询结果的情况下推断数据库信息,因此联合查询已经无法满足要求,那么我们就可以使用布尔盲注或其他的注入思想突破。
步骤:
①确定注入点以及注入类型
判断注入点和注入类型直接使用通过的判断语句进行即可;
若下列语句符合回显预期则为整型注入:
1 and 1=1 //正常回显
1 and 1=2 //无回显
此时的回显结果:


由该回显可得此注入点非整型注入
接着可以使用常规的判断字符型注入的语句来进行测试,若符合预期则可判定为字符型注入
1’ and 1=1 # //正常回显
1' and 1=2 # //无回显
或
1" and 1=1 # //正常回显
1" and 1=2 # //无回显
此时回显结果为:


可以看到以单引号作为闭合符号的语句符合回显预期,此时注入类型就是字符型注入
②推测数据库信息
该步骤分为2个小步骤:1)推测数据库名长度
2)得到数据库名
推测数据库名长度
此时需要两个Mysql的函数帮助我们进行推测:①database()函数返回当前数据库的


1930

被折叠的 条评论
为什么被折叠?



