声明:该系列文章首发于公众号:Y1X1n安全,转载请注明出处!本公众号所分享内容仅用于每一个爱好者之间的技术讨论及教育目的,所有渗透及工具的使用都需获取授权,禁止用于违法途径,否则需自行承担,本公众号及作者不承担相应的后果。
遇到带验证码的网站,验证码没法复用,没有SQLi,连个XSS都没有…难道要放弃?!??
风和日丽的下午,接到测试需求:好,好,好,行,我一会就测。
那么,切换场景:拉上窗帘,一杯茶,一包烟,一个站点日一下午吧。🔕
由于涉及高敏内容,相关图片展示会很少,但是该有的细节都有💥
主站一堆静态页面,拼了个admin,哦豁,后台!大概长下面这个样子:
刚开始填了个小写的验证码,提示错误,,,这么严格的嘛,不愧是XOV,估计之前也做过多次测试了。
验证码识别
掏出我三年前写的验证码识别脚本,捣鼓了下,正确率不是很高啊,大概80%,噪音处理不太好,这测起来还是有很多问题,找找有没有大佬写一些好用的工具。
哦豁,ddddocr看介绍感觉很牛批!那用起来!下面这些都能识别:
ddddocr是一款开源的python库,直接导入就行,恰好有burp插件,辣么直接用!
项目地址:https://github.com/lisa-hue/captcha-killer-modified/tags
P.S.:这个地方要注意JDK版本,我这里下载的是:captcha-killer-modified-0.24.1-jdk8.jar,对应java version “1.8.0_281”
导入插件就不多说了,
使用
1、抓验证码更新包,用来抓取验证码图片
点击验证码,burp抓包,右键导入captcha-killer-modified
如下图,点击获取即可。
需要选中“是否使用该插件”,验证码才能自动刷新;
2、通过ddddocr进行验证码识别
下载的文件里有个codereg.py,这段代码的功能主要是创建一了个基于aiohttp的Web应用程序,用于接收POST请求,并使用ddddocr库对接收到的图像进行OCR处理。
如下所示,可以做一些自定义操作,除了下面这些还可以自己加:
- 可以修改返回的字符个数以应对不同位数的验证码;
- 对结果进行二次修改,如将0替换为字母o;
- 修改监听端口8888位其他;
python codereg.py运行。
然后再burp上配置接口地址为:http://127.0.0.1:8888,右键选择模板为ddddocr:
右侧的Response raw会返回识别+处理结果;
3、验证码识别爆破
burp抓登录包,转发至intruder,选择Pitchfork。需要爆破的位置按需求设置即可,验证码部分按照如下进行选择:
资源池配置:
- 最大并发请求数:设为1;请求之间的延迟:200ms;保证每次仅有一个请求,防止验证码识别匹配错误;
Start attack即可!
不出所料,没爆破出来弱口令😅但是发现了这玩意存在验证码复用的情况!
通过抓包,保持拦截状态,修改账号或密码,根据返回响应数字可以判断是否存在复用情况。由于敏感性我这里就不放图了,简单说下,当响应为1表示账密问题,2表示验证码问题。Repeater数据包,发现响应永为1,修改数据包内容后同样为1,则可以发送至Intruder进行识别爆破。当然这本身也算一个漏洞。OK,烟也喝完了,交差下班!🙃
📌 如果你对网络安全或编程感兴趣,可以搜索公众号“Y1X1n安全”或扫描下方的二维码,每天都会分享相关知识点,让我们一同加油!路漫漫其修远兮,吾将上下而求索。