网站建设费如何账务处理,wordpress注册会员才能看,百度百姓网,空间域名一年要多少钱基于boolean的盲注:
1、没有报错信息显示#xff1b; 2、不管是正确的输入#xff0c;还是错误的输入#xff0c;都只显示两种情况#xff0c;true or false#xff1b; 3、在正确的输入下#xff0c;输入and 1 1/and 1 2发现可以判断#xff1b; 布尔盲注常用函数 2、不管是正确的输入还是错误的输入都只显示两种情况true or false 3、在正确的输入下输入and 1 1/and 1 2发现可以判断 布尔盲注常用函数
length(str)返回str字符串的长度。 substr(str, pos, len)将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的不是数组的0开始 mid(str,pos,len):跟上面的一样截取字符串 ascii(str)返回字符串str的最左面字符的ASCII代码值。 ord(str):同上返回ascii码 if(a,b,c) :a为条件a为true返回b否则返回c如if(12,1,0),返回0 布尔型盲注入用到得SQL 语句select if(11,1,0) if()函数在mysql 是判断第一个参数表达式如果条件成立会显示1否则显示0。11 表达式可以换成构造的SQL 攻击语句。
一、判断数据库名的长度
从前面已经知道有个用户 为 vince 如果长度判断正确回返回vince 这个用户错误则显示不存在
通过payload 从1、2、3…… 判断数据库名长度
vince and length(database())1# 发送到 intruder 做爆破以长度的值为参数
经过url编码 爆破得到 当长度为7 时返回 vince 这个用户 所以数据库长度为7 二、获取数据库名的每一位的字母
得知长度为7 后去爆破数据库名
查询数据库名称
数据库名称由数字、字母组合
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
构造payload先查询第一个字母
vince and if(substring(database(),1,1)a,1,0)#
//在intruder中第一个数字1 为长度参数 a 为第二个参数 发送到 intruder 做爆破
如红框显示 字母a为第一个参数 数据库长度为第二个参数 爆破后的结果根据长度显示payload1 的数字就是对应字母所在的位置 得到数据库名称为 pikachu
三、根据库名获取表名由于一个库有多张表 表的长度
构造payload这条语句的意思时查 第一张表的第一个字字母 是否为 a
第一个 1 代表查第一张表第二个11 代表查第一个字母
vinceand if(substring((select TABLE_NAME from information_schema.TABLES where
TABLE_SCHEMAdatabase() limit 1),1,1)a,1,0)#
爆破参数如图 得到结果如下 payload1 为字母所在位置序号 得出第一张表名为 httpinfo 以次类推可以继续爆破后续的表后续的字段