01、无验证码爆破
登录,使用burp进行抓包
然后发送到爆破模块intruder(快捷键 ctrl+i)
先对账户名进行字典爆破
选择字典密码
start attack进行爆破
根据长度查看response,显示密码错误,说明账号是正确的。账号名为ceshi
然后再爆破密码
可以看到密码为:admin123456
02、验证码前端验证
第一种方法(burp直接绕过)
随便输入账号密码,输入一个错误的验证码后,可以看到burp上没有抓到包。并且验证码输入错误的提示返回在了页面上(也就是前端),前端验证是指验证码直接在客户端进行了校验,而没有发送给服务器进行校验,少了发送给服务器这一个过程,直接在本地进行了校验。也就是验证码的生成和校验全部由前端完成。
再次输入正确的验证码,查看burp,可以看到由于前端验证码校验通过了,所以客户端向服务端发送了请求,我们自然而然也就抓到了数据包。
我们直接在验证码里加个字符2,构造错误的验证码,然后查看回显,发现我们的回显结果还是一样的,而不是提示验证码错误,说明服务端没有对这个验证码进行再一次的验证。也进一步说明了这里只进行了前端验证。
爆破账户密码
另一种方法(删除前端代码)
知道是前端验证后,可以删除前端的js代码。
回显为用户不存在,而不是验证码错误。
03、验证码不失效
使用到工具xp_CAPTCHA(瞎跑)
运行瞎跑服务,监听8899端口作为web服务
开始爆破,进行抓包
抓取登录请求包,发送到Intruder模块,添加爆破项:密码,验证码项改为@xiapao@1@
添加密码字典
修改插件配置
成功爆破得到正确账号密码