今日学习笔记

本文介绍了布尔盲注和时间盲注在Web应用安全中的检测方法,包括使用length,ascii,substr和if函数进行测试,以及通过二分法猜测数据库库名和表名。实战演练展示了如何利用这些技术寻找注入漏洞并获取敏感信息,同时也提到了SQLMap和dp工具的应用。
摘要由CSDN通过智能技术生成

无法看到结果,但是执行
一,布尔盲注(bool)页面仅反映是否报错两种情况。
二时间盲注,无论输出内容对错,都显示一样的内容
但这两种情况均不回显具体内容
常用盲注函数
一,length()判断长度
select length ('aaa')返回值为3
二,ascii()ASCII码,囊括常见的数字,字母,字符等共126个
select ascii('a')返回结果为97
三,subetr()分割函数,括号内需要填三组数据,第一组为要分割的数据,第二组为从哪里开始,第三组为分多少位。
select substr(‘abcd’,‘1’,‘1’)返回值为1。它是指从abcd中第一个字母开始分割一个出来。
三, if(),括号内同样是写三组数据,第一个为条件,第二个是条件为Ture就执行此函数,这里第二个是判断为false就执行此函数。
if(2>1,sleep(2),1)若2>1停两秒后输出结果,若不大于返回值1。
实战演练
一,判断是否有注入漏洞。
二,找到何处注入能够被执行。
and 1=1,能够被执行,且,and 1=2,不能被执行。
三,实行注入
1,得到库名,首先需要得到数据库库名的长度,使用每个字母分别猜,此处使用二分法猜长度。
?id=1'and length (database())>5 --+
判断库名是否大于5,以此类推得到长度。
2,猜库名字母。
?id=1'and substr (database(), 1,1)=a--+
判断第一位是否为a,以此类推得到库名。
同时也可以使用ASCII码批量使用二分法进行判断。
?id=1'and ascii(substr( database()①,1))--+
①是算第几位的结果
往后推表名字段名原理同上,都需要从猜长度开始逐步递进猜表名字段名。
同时也可使用sqlmap和dp,爆破直接得到结果。
二,时间盲注
?id=1'and if(length (database ())>7,sleep (10),sleep(2))--+
若库名字母数大于七停十秒,若否停两秒?
它的原理是将时间锚柱转化为布尔函数,然后使用二分法得出结果,与布尔盲注入大同小异。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值