首先学习一下BP的四种攻击类型进而可以针对性的选择攻击方式
burp suite的四种 attack type
Sniper(狙击手)
这个模式会使用单一的payload组,它会针对每个position中$$位置设置payload逐个进行遍历替换。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。
攻击过程是将各个被标记的位置依次进行了字典中的替换并发包,攻击中的请求总数应该是position数量和payload数量的乘积。
Battering ram(攻城锤)
它会一次性同时把payload放入所有的position中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。
Pitchfork(干草叉)
对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。比如:position中A处有a字典,B处有b字典,则a【1】将会对应b【1】进行attack处理,这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量
Cluster bomb (集束炸弹)暴力破解
每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。比如:position中A处有a字典,B处有b字典,则两个字典将会循环搭配组合进行attack处理这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。
LOW:
在bp上抓包,然后右键选择 send to intruder
选中要爆破的项目
导入字典
linux自带的小字典 命令行输入wordlists
进行爆破攻击
由图可以看出 lenth与其他不同的为密码 password
Middle:
同样显示破解成功,但会发现比low慢一些
增加了一个sleep函数
如果密码输错了,则延时两秒之后才能再次提交。
High:
抓包后发现数据包里面多了一个user_token字段
每次服务器返回的登陆页面中都会包含一个随机的user_token的值,用户每次登录时都要将user_token一起提交。服务器收到请求后,会优先做token的检查,再进行sql查询。
将攻击模式设置为Pitchfork模式,将password和user_token设置为payloads
选择value=,上面会自动补全
设置为always
Payload 1还是相同的操作
Payload 2 type选择为Recursive grep
表示将服务器每次返回的数据来替换payload的变量值,这里每次替换user_token的值
然后将之前option的user_token复制到下面来作为第一次的初始变量
爆破准备环节结束,开始爆破,由length看出password
如果密码输错了,则延时0-3秒之后才能再次提交。