burpsuite密码爆破
作者:百科 来源:休闲 浏览: 【大 中 小】 发布时间:2026-10-17 06:04:51 评论数:
BurpSuite密码爆破:从抓包到跑字典的密码爆实战细节
打开BurpSuite,Proxy模块拦截登录请求,密码爆这是密码爆每次密码爆破的起点。我见过太多人上来就Intruder开跑,密码爆结果连请求里哪个参数是密码爆密码都没搞清。先抓包,密码爆看POST体里是密码爆username=admin&password=123456还是user%5Bname%5D=admin&user%5Bpass%5D=123456,结构不同,密码爆Payload位置就不同。密码爆
选中要爆破的密码爆参数值,右键Send to Intruder。密码爆Intruder面板里,密码爆Positions标签页会自动标记几个参数位置,密码爆Burp的密码爆自动识别有时不靠谱,比如把session token也标上。密码爆手动点Clear,再选中密码值点Add。Attack type选Sniper,只跑一个字典,够用了。
Payloads标签页是核心。Payload set选1,Payload type选Simple list,点Load加载字典。字典质量决定成败。我常用的是SecLists里的rockyou.txt,1400万条,但别傻跑——先拿top1000.txt试水。很多后台没做速率限制,但跑百万级字典会拖垮目标,也可能触发WAF封IP。
Options标签页里有个关键设置:Request engine的线程数。默认10,我一般调到20-30。太高了目标扛不住,返回全是超时或500,反而干扰判断。还有个细节——Grep - Match。加一条规则匹配响应里的“密码错误”或“登录失败”,跑完后按这列排序,没匹配到的就是成功请求。
实战里最烦的是CSRF token。每次请求token都变,Intruder跑出来的全是失败。解决办法是用Macro。Settings → Sessions → Macros,新建一个宏,让它先GET登录页提取token,再在Intruder请求里引用。这步配置麻烦,但绕不过去。另一个坑是账号锁定。跑几十次后目标返回“账号已锁定”,这时候换用户名继续跑,或者把线程降到1,加延迟。
有次打一个老式PHP后台,字典跑了三分钟没结果。我停下来看响应长度,发现所有失败请求长度都是1234字节,但有一条是1240字节。点开看,返回的是“验证码错误”——原来登录页有验证码,只是前端没显示。这种时候Intruder跑再多也没用,得先解决验证码识别或绕过。
还有种情况:响应全是302跳转。Burp默认不跟随重定向,你看到的都是302。去Options里勾上Follow redirects,或者直接看Location头。成功登录通常跳转到/admin/或/dashboard,失败跳回/login?error=1。用Grep - Extract把Location头提取出来,一眼就能分辨。
跑完字典别急着关。Intruder结果表里按Status code、Length、Grep Match三列排序,交叉验证。200且长度异常且没匹配到错误关键词的,大概率就是正确密码。手动在浏览器里试一次,确认后再收工。
最后说个习惯:每次爆破前先测一下目标有没有速率限制。连续发20个请求,看响应时间有没有递增,或者有没有出现429。有的话,要么换IP,要么把线程降到1,请求间隔设500ms。别为了省时间把目标打挂,那是另一回事了。
