cycyup / crack_geetest

极验验证码,第三代,空间推理验证码破解
92 stars 26 forks source link

geetest极验第三代空间推理验证码破解

在网上看到很多破解了极验的滑动验证码和文字点选验证码,但是没怎么见破解空间推理的,就训练了个yolo模型,试试破解这个每次都要要思考好久的验证码。 同时通过反爬极验的接口获取的加密方法,使用requests模拟请求,比网上已有的selenium自动化浏览器点击滑动破解验证码的方法相比,速度极快,需要的依赖也少。

image

训练的模型的精度为0.96 就算在最低配1核cpu 2G内存最低配的服务器上也能达到200ms,足够一定量并发预测

声明

本项目仅供学习交流使用,严禁用于商业和违法行为,否则产生的一切后果与本人无关!!!!

测试接口(仅供学习使用)

破解

1、从需要破解验证码的网页上获取验证码的gt和challenge
2、使用gt和challenge的获取验证码类型,获取图片、文字信息和一些生成。

请求响应

"data": { "theme": "silver", "theme_version": "1.5.0", "static_servers": ["static.geetest.com/", "dn-staticdown.qbox.me/"], "apiserver": "api.geetest.com", "logo": false, "sign": "\u8bf7\u70b9\u51fb_\u5728\u5927\u578b\u7eff\u8272\u7403\u4f53\u540e\u9762\u7684\u7ea2\u8272\u7269\u4f53\u3002", # 点击物体的文字信息 "pic": "/nerualpic/space_l1_zh_2019.07.17/space/587417a058088f2f5934e22fcc503980.jpg", # 图片的url地址,同时也是后续加密生成w需要 "pic_type": "space", "num": 0, "c": [12, 58, 98, 36, 43, 95, 62, 15, 12], # 后续生成w需要 "s": "514c622c", # 后续加密生成w需要 ······ }

3、点击坐标后提交,将坐标等信息加密post给服务器,返回validate的值表示验证成功。    

* 代码里可以用yolo定位物体形状、颜色和位置。     
* 然后根据sign文字描述,选出需要点击的物体,算出坐标。   
* 详细教程待写。   

url = 'https://api.geetest.com/ajax.php'

请求参数

'gt': 'c9428d9361cd70d26e28d7cd780ec640', 'challenge': '33146d766e1c5632215cf424ec17e5ef', 'lang': 'zh-cn', 'pt': 0', 'client_type': 'web', 'w': 'Y1gV9CACfWsfd)vtGUQD(WuKBZnmxhgfpXfD)qDHwhG(h1F4rOco··· //点击的坐标和一些信息的加密信息(点击坐标,图片pic,上面的c和s内容) 'callback': 'geetest_1644752017507'

请求响应

{ "status": "success", "data": { "result": "success", "validate": "23ff2a4fddac68b9e40884befcfbb9af", "score": "1" } }


4、有了validate就可以和gt,challenge一起交给需要登录的网站做验证了。    

## 细教程(图文并茂)已发表在  
### [geetest极验空间推理验证码破解与研究](https://mp.csdn.net/mp_blog/creation/editor/122953184)  

## 觉得不错帮忙Star一下