毕竟bp的FUZZ是yyds
传统
bp爆破:
- Sniper 狙击手
- 可以理解为一个一个爆破
- payload set只能选一个,也就是字典只能设置一个,然后用字典替换选择的参数
- 结果就是pwd为初始值(123)不变,pwd用字典遍历一遍,然后name为初始值(123)不变,pwd用字典遍历一遍。
- Battering ram
- payload set 依然只能选一个,也就是字典只能设置一个
- 结果就是同时将name和pwd替换为字典内容遍历一遍,name和pwd都一样
- Pitchfork
- payload set 可以选2个,也就是字典可以设置2个
- 结果就是name和pwd同时替换为字典,但name用字典1遍历,pwd用字典2遍历。如果两个payload行数不一致的话,取最小值进行测试。
- Cluster bomb
- payload set 可以选2个,也就是字典可以设置2个
- 结果就是字典1和字典2的笛卡尔积。也就是将name替换为字典1中的参数1,然后pwd遍历字典2,然后将name替换为字典1中的参数2,然后pwd遍历字典2…………………….……
- Cluster bomb
- Pitchfork
新版
新版Burpsuite 2021.12的Indruder增加了配置Target的功能,也就是说现在发包的目标也可以作为Payload Position(有效载荷)了,这直接给Burpsuite扩展出了批量打POC的能力。
也就是可以不用一些多线程脚本go和py,直接利用bp打就可以
比如我们可以收集一批子域名,用这个功能批量探测是否存在备份文件、敏感文件等。
在Indruder跑结果的时候如果遇到返回包特别大导致Burpsuite很卡的情况,可以考虑在请求包里使用Range头来限制返回包的大小: Range: bytes=0-1024 通过判断最前面的特征来进行识别
脚本
去掉http或https并去重
alls=[]
with open(r"have_http.txt","r+") as f:
one=f.readlines()
for i in one:
if "http://" in i:
i=i[7:]
alls.append(i)
elif "https://" in i:
i=i[8:]
alls.append(i)
else:
alls.append(i)
print(len(alls))
alls=list(set(alls))
print(len(alls))
with open(r"no_http.txt",'a+') as w:
for i in alls:
w.write(i)
》