Burp Suite暴力破解
四种攻击方式
1 狙击手
适用于爆破单个变量的爆破,如知道用户名,准备一个强大的密码字典,爆破密码
它的爆破模式是这样的:
如果设置一个变量,拿着字典中的值逐个进行爆破;
如果设置两个变量,分别是变量A和变量B,先固定变量A【原始请求中的值】,然后用字典依次替换变量B;然后固定变量B【原始请求中的值】,用字典一次替换变量A。
狙击手模式 设置两个变量
变量 1:username【原始请求中 username=test】
变量 2:password【原始请求 password=123456】
并且分别为它们配置了字典:
username:[user1, user2, user3]
password:[pass1, pass2, pass3]第一阶段:固定username,替换password的值username=user1&password=123456username=user2&password=123456username=user3&password=123456第二阶段:固定password,替换username的值username=test&password=pass1username=test&password=pass2username=test&password=pass3
2 攻城锤
适用于所有变量同时替换为相同的值,用一个字典同时爆破所有变量
如有个请求需要同时爆破两个变量password
,confirm_password
,并且他们的值必须相同
# 准备字典
dict = [user1,user2,user3]# Burp 会发送以下请求:
username=user1&confirm_username=user1
username=user2&confirm_username=user2
username=user3&confirm_username=user3
3 干草叉
适用于替换多个变量,使用不同的字典一一对应【对每个变量需要独自准备对应的字典】
注意:准备的对应字典的长度要相同,如username
列表中有10个,password
中也得10个,如果字典长度不一致,Burp 会以较短的字典为准,忽略多余的值。
假设有个登录请求,同时爆破username
,password
,并且知道用户名和密码的对应关系
# 爆破两个变量,有各自的字典,且对应关系也知道
# 配置字典
username=[user1,user2,user3]
password=[pass1,pass2,pass3]
Burp 会发送以下请求:username=user1&password=pass1username=user2&password=pass2username=user3&password=pass3
4 集束炸弹
同时替换多个变量,使用不同的字典值,生成所有可能的组合。
假设有个登录请求,需要同时爆破 username
和 password
,并且需要尝试所有可能的组合:
# 爆破两个变量,有各自的字典
# 配置字典
username=[user1,user2]
password=[pass1,pass2,pass3]
Burp 会发送以下请求:username=user1&password=pass1username=user1&password=pass2username=user1&password=pass3username=user2&password=pass1username=user2&password=pass2username=user2&password=pass3