查看原文
其他

渗透测试|验证码爆破总结


一、使用reCAPTCHA插件进行验证码爆破

插件下载地址:https://github.com/bit4woo/reCAPTCHA/releases

1.浏览器输入网站登录页面,输入用户名和密码以及验证码,然后通过buspuit获取数据包

 

2.然后点击验证码获取验证码的地址,在proxy中找到获取图形验证码的请求,选中它并点击右键选择“Send to reCAPTCHA”,这个请求的信息将被发送到reCAPTCHA。

3.切换到reCAPTCHA标签,并配置所需的参数。当参数配置好后,你可以点击“请求”按钮来测试配置

这里需要注意的是,需要到https://www.jsdati.com/注册一个打码平台,然后购买点数,这里可以用1元购买测试。

username=xxx&password=xxxx&captchaType=1008.

这里的username是你注册的账号,password你注册账号的密码,aptchaType为你识别的验证码类型,该类型可以通过下面链接地址查询到

https://www.jsdati.com/docs/price

 

 

4.完成了配置并测试成功后,现在可以在Intruder中使用该插件生成的payload了。

有2种情况:用户名或密码之一+验证码;用户名+密码+验证码;

情况一:只有密码或只有用户名需要改变,我们可以用Pitchfork 模式来配置。

比如,已知系统存在一个用户admin,来爆破该用户,插入点标记如下,

payload 1我们从文件中加载,这个不必多说。

payload 2 选择“Extension-Generated”.

 

 

 

运行效果如下:

 

 

情况二用户名和口令都需要改变,这个稍微复杂点。我们还是使用Pichfork模式,但需要将用户名和密码一起标注为一个插入点。像这样:

payload 1 使用“自定义迭代器(Custom interator)”。并在迭代器中组合用户名和密码。

在该例子中,即 position 1为用户名,postion 3为密码。

position 2 为“&j_password=”

payload 2 的配置和情况一中的配置完全一样。

运行效果如图:

二、使用captcha-kiler插件进行验证码爆破

1. 插件下载地址:

captcha-kiler:https://github.com/c0ny1/captcha-killer/tags

2.浏览器输入网站登录页面,输入用户名和密码以及验证码,然后通过buspuit获取数据包

 


3.然后点击验证码获取验证码的地址,通过buspuit拦截验证码获取地址,然后proxy--proxy history中发送数据包到repeater中,选中它并点击右键选择“send to  captcha panel”,这个请求的信息将被发送到captcha-kiler

 

 

4.配置识别接口模板,这里通过(http://www.ttshitu.com/图鉴打码平台,(1元500次))

POST /base64 HTTP/1.1Host: api.ttshitu.comUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123Connection: closeContent-Type: application/json; charset=UTF-8Content-Length: 2658 {"username":"xxx","password":"xxxxx","typeid":"2","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}

注意:这里username填入图鉴打码平台的用户名,密码则为打码平台的密码,typeid为识别验证码的类型

5.设置匹配规则将result后面的验证码,标记为识别结果

6.最终可以看到识别的效果图

7.验证码爆破:

情况一:只有密码或只有用户名需要改变,我们可以用Pitchfork 模式来配置。

比如,已知系统存在一个用户admin,来爆破该用户的密码,插入点标记如下

payload 1我们从文件中加载密码字典

 

 

payload 2 选择“Extension-Generated”--captcha-killer插件

 

运行效果如下:

 

情况二用户名和口令都需要改变,这个稍微复杂点。我们还是使用Pichfork模式,但需要将用户名和密码一起标注为一个插入点。像这样:

 

payload 1 使用“自定义迭代器(Custom interator)”。并在迭代器中组合用户名和密码。

在该例子中,即 position 1为用户名

 

position 2 为“&is_manager=0&userpwd=”

postion 3为密码

payload 2 选择“Extension-Generated”--captcha-killer插件

 

运行效果

三、使用xp_CAPTCHA插件进行验证码爆破

1.安装

需要python3 小于3.7的版本

安装 muggle_ocr 模块(大概400M左右)

python3 -m pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com muggle-ocr

运行 server.py

 https://github.com/smxiazi/NEW_xp_CAPTCHA.git

python  server.py

 

等待显示出 Starting server, listen at: 0.0.0.0:8899 访问 http://127.0.0.1:8899/ 显示下面界面即为正常。

 

2.burp联动识别验证码爆破

如果 server.py 在服务器上跑的话,xp_CAPTCHA.py需要修改对应的IP。

先下载jypthon插件,并加重环境变量,修改完后导入burp

https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar

 

 

 

Attack type处选择 Pitchfork,在http头部位置插入xiapao:验证码的URL地址

 此处导入密码字典

选择验证码识别

 

 

 

然后把线程设置为1

 

 

 

来源于网络

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存