自学web安全day04--利用BurpSuite和xp_captcha实现验证码爆破(前后端验证码)

450 阅读3分钟

一.验证码爆破种类

1.前端验证码的特点

特点①

有一个小窗口

image.png

特点②

只有当验证码正确的时候,客户端才会向服务端发送POST请求,当输入错误的验证码时,是无法利用抓包软件拦截到该包的。

缺点利用

往往缺陷设计上会有提示你具体问题的前端页面

如(1)"验证码错误"--你输错了验证码

(2)"用户名不存在"--你输入了正确验证码,但是账号密码乱输的

(3)"密码错误"--你输入了正确验证码和正确账号,但是密码是错误的

因此沿着(1)-(2)-(3)的过程即可知道爆破的位置。

2.后端验证码的特点

特点①

没有小窗口,提示信息会直接显示在页面上。

image.png

特点②

无论验证码是否正确,客户端也会向服务端发送POST请求,但是每次请求后的验证码都会更换

image.png

缺点利用

往往缺陷设计上会有提示你具体问题的前端页面

如(1)"验证码错误"--你输错了验证码

(2)"用户名不存在"--你输入了正确验证码,但是账号密码乱输的

(3)"密码错误"--你输入了正确验证码和正确账号,但是密码是错误的

因此沿着(1)-(2)-(3)的过程即可知道爆破的位置。但是与之不同的是,你不能人为的去一个一个输入正确验证码然后从字典中试错,而是需要一些能自动识别验证码的工具,如xp_captcha能帮助自动识别验证码,正确率50%左右。

二.具体操作

1.前端验证码爆破

S1 使用靶场网站Pikachu

Get the pikachu (shifa23.com)

image.png

S2 使用代理,打开BurpSuite

S3 尝试输入"错误账号密码"+"错误验证码" 观察反馈结果,并观察抓包情况

image.png

无抓包记录,说明是前端验证码

image.png

S4 尝试输入"错误账号密码"+"正确验证码" 观察反馈结果,并观察抓包情况

image.png

可以抓到该包

image.png

显示的反馈信息是:"用户名或者密码错误"--实际上可能两个都错

image.png

S5 对账号密码进行爆破,采用Cluster bomb集束炸弹攻击

image.png

image.png

2.后端验证码爆破

S1~S2同上

S3 在BurpSuite上安装工具xp_captcha

BurpSuite→Extensions→Add,装载下载好的jar文件

image.png

image.png

显示正常的输出,没有提示error即安装完毕→close,BurpSuite会自动导入。

image.png

导入后即可看到

image.png

启动识别服务器,点击".bat"后缀文件即可

image.png

image.png

获取验证码链接

image.png

将验证码链接粘贴到该处,并选择第二种验证识别库

image.png

勾选右侧保存配置

image.png

S4 开启代理,并抓包

image.png

S5 修改验证码参数

将登录包发送到 Intruder模块,并将验证码参数改为关键字 @xiapao@1@(与前面填写验证码地址对应的关键字一致)

image.png

S6 设置线程为1

image.png

S7 开始爆破

这里用的小字典,采用的Cluster方法,因为不知道账号和密码

xp_captcha运行程序(请勿关闭)

image.png

爆破成功

image.png