游客发表
Burp Suite的暴力暴力破解模块其实被很多人用歪了。他们一上来就开Intruder,破解挂个字典就开跑,教程结果不是暴力被WAF封IP,就是破解把目标服务器打崩。真正有效的教程暴力破解,拼的暴力不是字典大小,而是破解对目标系统的理解深度。
我去年做渗透测试时遇到一个后台,教程密码策略要求至少12位,暴力包含大小写和特殊字符。破解常规字典根本跑不动,教程但后来发现系统重置密码的暴力接口存在逻辑漏洞——它只校验新密码的前8位。这直接改变了攻击面,破解暴力破解变成了前8位字符集的教程排列组合,复杂度瞬间降了几个数量级。
说回Burp的正规玩法。拦截请求后发送到Intruder,Position标签里先标记好变量位置。这里有个大多数人忽略的细节:Payload Processing功能。你可以对字典里的每个词做规则变形,比如追加年份、替换字符、大小写交替。这比堆砌几百万条静态字典高效得多,因为真实用户的密码规律就那么几种。
Resource Pool的设置更关键。默认线程数跑得太猛,目标服务器响应变慢时,你收到的响应包全是超时错误,根本分不清是密码错误还是网络问题。我习惯把线程调到5以下,加上延迟时间。慢是慢点,但每个请求都能得到真实反馈。暴力破解本来就是耐心活,急不得。
Grep-Extract功能值得好好用。在响应包里提取登录失败的提示词,比如"密码错误"或"账号锁定",设置成匹配标记。这样Intruder结果列表里能直接看到哪些请求返回了不同关键词,一眼筛出可能的成功项。别傻乎乎地逐个翻响应包,几千个请求翻到天亮都看不完。
还有个冷门技巧——利用Burp的宏功能处理动态token。很多系统登录时会在表单里嵌入一次性token,每次请求都要带上新的。普通暴力破解会卡在这一步,但宏可以预先请求登录页面提取token,再注入到攻击请求里。这招能解决大部分带CSRF防护的登录表单。
最后提醒一句:爆破前先手工试几个密码,观察响应时间差异。如果密码错误时响应耗时明显更长,说明系统做了数据库查询操作,你可以用这个时间差做用户枚举。响应包长度也是判断依据,有时候账号不存在和密码错误返回的页面大小就差几个字节,用Intruder的Compare功能做对比,能快速区分。
工具始终是死的,思路才是活的。Burp的暴力破解模块真正厉害的地方在于高度可定制化,但前提是你得清楚自己在打什么目标。下次跑字典前,先花半小时分析目标系统的认证机制,比盲目挂机跑一晚上有价值得多。
友情链接