GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

如何使用burp suite 来pj验证码

pj带有验证码的验证。

pj步骤:

0.安装burpsuite和第三方插件 captcha-killer

1.收集字典,注册OCR服务

2.了解目标运行逻辑,抓取关键数据包

3.在数据包上装载payload,开始pj

 

0.安装burpsuite之前文章介绍过。这里要注意,第三方插件 captcha-killer只能运行burpsuite1.7上在2021上测试失败,java版本必需是1.8。因为在1.8后删除了base64位编码支持。

下载 captcha-killer https://github.com/c0ny1/captcha-killer/releases ,注意有墙 ,下载可执行文件jar。

打开burp,按照下图导入插件

 

1.需要预先准备两个东西,一个是字典,一个是第三方OCR。这两样东西是成功的关键因素。

字典,通过平时在互联网搜集,建议使用弱口令字典,或者定制字典。我为了方便下载了一个弱口令先试试、

ocr有百毒、图鉴等等,个人建议使用图鉴,识别更好点,一个二维码收0.2厘。注册地址  http://www.ttshitu.com/user/index.html

注册好之后登录,点击在线测试服务,你可以把你的图片验证码上传一张看看识别结果怎么样,如果可以就继续,不行换其他服务。

点击 个人中心 - 充值 ,我这里购买 按需收费,买了10元的。你也可以选择套餐。你要跑多少数据包就买多少钱的套餐。

 

2.通过使用burp不断地抓包分析得出,

获取图片验证码地址:http://cc.ysI68.com/f_ht/sjzx/ys_vf_img.aspx?lx=1375778mm&sj=Fri%20Jul%2009%202021%2008:46:13%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)

提交人口地址:http://cc.ysI68.com/f_ht/ajcx/mlrz.aspx?cz=Kqmmpd&mlbh=1375778&kqmm=111111&yzm=000&_dlmc=cap88&_dlmm= (其中参数cz表示密码登录方式下载,mlbh目录编号,kqmm目录下载密码,yzm验证码,_dlmc服务提供者用户名,_dlmm服务提供者密码)

成功或者失败地特征:ture表示成功,0表示没有输入验证码,1=验证码不对,2和3=目录密码不对

注意这里有个小技巧,burp在抓取验证码数据包时默认会过滤掉,因为显示出来没有意义,这时我们要手动关闭过滤,

此时就可以在抓取历史记录中找到验证码数据包

 

 

3.获取图片验证码数据包发送到captcha-killer插件

在接口url中填入上如所示内容,api接口内容填写

POST /base64 HTTP/1.1
Host: api.ttshitu.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123
Connection: close
Content-Type: application/json; charset=UTF-8
Content-Length: 2658

{"username":"*","password":"*","typeid":"1","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}

 

username和password填写你注册OCR时候的用户名和密码,其余不变。上面是图鉴服务模板,其它服务不能套用。

匹配方式选择 json,匹配规则是 result,此时配置识别插件就就完成了。

将提交人口数据包发送到intruder模块中,只要将 kqmm=§111111§&yzm=§000§ 设置位攻击点,攻击模式选择pitchfork,表示一对一设置字典。第一个位置选择弱口令,第二个位置选择由插件生成即可。执行后的匹配规则是,ture,0,1,2,3
最后一定要将线程数设置为1!
最后一定要将线程数设置为1!
最后一定要将线程数设置为1!
因为验证码获取是线性的,如果是多线程,下一个线程获取验证码后会让前一个验证码失效。
点击开始攻击!!!


最后我的审计还是失败了,为什么,我总结两点
1.验证码识别有个准确率问题
2.字典制作也是一门学问,我只是到互联网上随便找的,字典内容杂七杂八,失败也是必然的。


 

posted on 2021-07-09 13:49  GKLBB  阅读(728)  评论(0编辑  收藏  举报