一.验证码爆破种类
1.前端验证码的特点
特点①
有一个小窗口
特点②
只有当验证码正确的时候,客户端才会向服务端发送POST请求,当输入错误的验证码时,是无法利用抓包软件拦截到该包的。
缺点利用
往往缺陷设计上会有提示你具体问题的前端页面
如(1)"验证码错误"--你输错了验证码
(2)"用户名不存在"--你输入了正确验证码,但是账号密码乱输的
(3)"密码错误"--你输入了正确验证码和正确账号,但是密码是错误的
因此沿着(1)-(2)-(3)的过程即可知道爆破的位置。
2.后端验证码的特点
特点①
没有小窗口,提示信息会直接显示在页面上。
特点②
无论验证码是否正确,客户端也会向服务端发送POST请求,但是每次请求后的验证码都会更换。
缺点利用
往往缺陷设计上会有提示你具体问题的前端页面
如(1)"验证码错误"--你输错了验证码
(2)"用户名不存在"--你输入了正确验证码,但是账号密码乱输的
(3)"密码错误"--你输入了正确验证码和正确账号,但是密码是错误的
因此沿着(1)-(2)-(3)的过程即可知道爆破的位置。但是与之不同的是,你不能人为的去一个一个输入正确验证码然后从字典中试错,而是需要一些能自动识别验证码的工具,如xp_captcha能帮助自动识别验证码,正确率50%左右。
二.具体操作
1.前端验证码爆破
S1 使用靶场网站Pikachu
S2 使用代理,打开BurpSuite
S3 尝试输入"错误账号密码"+"错误验证码" 观察反馈结果,并观察抓包情况
无抓包记录,说明是前端验证码
S4 尝试输入"错误账号密码"+"正确验证码" 观察反馈结果,并观察抓包情况
可以抓到该包
显示的反馈信息是:"用户名或者密码错误"--实际上可能两个都错
S5 对账号密码进行爆破,采用Cluster bomb集束炸弹攻击
2.后端验证码爆破
S1~S2同上
S3 在BurpSuite上安装工具xp_captcha
BurpSuite→Extensions→Add,装载下载好的jar文件
显示正常的输出,没有提示error即安装完毕→close,BurpSuite会自动导入。
导入后即可看到
启动识别服务器,点击".bat"后缀文件即可
获取验证码链接
将验证码链接粘贴到该处,并选择第二种验证识别库
勾选右侧保存配置
S4 开启代理,并抓包
S5 修改验证码参数
将登录包发送到 Intruder模块,并将验证码参数改为关键字 @xiapao@1@(与前面填写验证码地址对应的关键字一致)
S6 设置线程为1
S7 开始爆破
这里用的小字典,采用的Cluster方法,因为不知道账号和密码
xp_captcha运行程序(请勿关闭)
爆破成功