四、注入(4)盲注

一、盲注介绍

盲注对应的是显错注入和报错注入

union select 联合查询注入

updatexml 报错注入

只会返回两种状态:

1、有数据回显

2、无数据回显

当页面没有任何回显点,且使用报错注入也无效时,使用盲注

盲注分类:

1、布尔型盲注

布尔:数据类型,返回0或1

2、时间型盲注

sleep() 时间差

二、盲注需要掌握的的函数

lenth()   返回字符串长度

substr()   截取字符串,语法:SUBSTR(str,pos,len);

ascii()   返回字符的ascii码,把字符变成数字

sleep()   把程序挂起一段时间n,单位是秒

if(expr1,expr2,expr3)   判断语句 如果第一个语句正确就执行第二个语句,如果错误就执行第三个语句

三、布尔盲注的过程

1、判断数据库字符串长度

在url后加上length(database()),选择利用二分法猜长度

2、利用Burp爆破

(1)查找数据库名

在url后输入and ascii(substr(database(),3,1))=某个数字,这里是把数据库名截取,截取到的字符转换成ascii码来判断

抓取数据包,Attack type选择最后一个选项cluster boom(集束爆破,适用于多个爆破点,sniper适用于一个爆破点),,把substr(str,pos,len)中pos的位置和点右侧按钮add&,最后=后的ascii码也add&。

右键发送到instruder,点击pay load选项卡,设置第一个和第二个pay load,第一个长度是from 1 to 数据库字符串长度,第二个是1-128。点击start attack运行。

爆破后,根据lenth排序,寻找长度不正常的数字,找到字符串的ascii码值,对应ascii表,找到对应字母,得到数据库名

(2)查找数据表字符串长度

url中输入length(select table_name from information_schema.tables where table_schema=database() limit 0,1)>某个数字

利用二分法确定数据表长度,也可以用Burp爆破确定长度(这里选用sniper)

(3)根据数据库自带数据表查找数据表和字段名

这里用Burp抓包时间成本太大,一般使用sqlmap。内容和之前学的sqlmap对GET注入类似,在此不赘述。

四、时间盲注

联合查询 > 报错注入 > 布尔盲注 > 时间盲注

通过时间延迟来判断是否存在注入。配合select if(length(database())>5,sleep(2),1)函数等,去猜。必要时配合BurpSuit的爆破。

通过时间延迟函数sleep()来判断书否存在时间盲注,配合select if (length(database())>5,sleep(5),1)函数等,猜数据库字段长度,配合Burp爆破。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值