极验滑动验证码破解分析
来自知乎文章
极验验证码验证的是鼠标拖动滑块时的鼠标轨迹,完整步骤就像这样:先向目标网站请求一个id,然后拿着id去geetest服务器请求图片;接下来就开始拖动滑块,拖动的过程会被js记录下来;松开鼠标后会向geetest发送一个验证的请求,请求包含加密后的鼠标轨迹、拖动距离、所用时间等信息,如果成功,返回一个秘钥,用来向目标网站进行下一个请求。
那我们需要做什么呢?
- 向目标网站请求id
- 用id去geetest请求图片
- 合成图片得出拖动距离
- 生成鼠标轨迹
- 用Python把加密的方法实现一遍
- 发送加密后的数据
思路:
前两个都还好说
第三个、图片是混淆之后的图片,需要按着他的规则把相应的块换换位置就可以得到完整的图片了;缺口位置:每张图片各转为一个Python列表,每个值对应图片上每一列像素值的和,然后对两个列表进行比较(缺口的位置和所需要拖动的距离不相同,有一个固定的差)
第四个、轨迹生成有许多方法,1.找找规律,写个循环直接生成。如果写的不好影响成功率。2.找一些样本,然后随机选一个,根据自己需要拖动的距离按比例方法缩小23333
第五个、找到相应的js代码然后用Python实现一遍(体力活费时间,还好我写好了是吧)。。。或者可以调用v8
在验证码分析过程中我搭建一个简易的后台。极验有开放的Python demo,flask和django的都有,我用的flask。滑动成功之后,通过js把加密之前的鼠标轨迹等信息发送到后台,后台存入数据库。我又在页面上加了一个图表,可以把自己的轨迹显示出来,也可以把后台生成的轨迹显示出来,看看自己生成的轨迹和自己拖动的轨迹有什么区别,不过是否通过还是得发到极验后台去了。
最后放一张测试时搭建的后台。渣前端):
2017年3月9日更新:
极验的验证码更新挺快的,用这种方法去分析请求工作量挺大的,还是控制浏览器来的稳定,当然了,以前研究的东西正好可以用在这里,就像距离计算、轨迹生成之类的。
转载于:https://www.cnblogs.com/nail/p/6774242.html
极验滑动验证码破解分析相关推荐
- 【2019.05】极验滑动验证码破解 geetest
[极验测试站]https://www.geetest.com/demo/slide-popup.html 滑动验证码如下图 破解滑动验证码一般都是得到验证码的原图和有滑块的图,这里我们抓包发现极验的原 ...
- 如何破解极验滑动验证码?成功率 100%!
注:已对文章中所涉及的敏感内容,如图片/文字/URL 进行脱敏处理. 什么是"极验"? 或许你没听说过极验[1],但你很大可能使用过极验的产品.极验是首家「行为式验证」安全技术服务 ...
- Day06,selenium的剩余用法、万能登录破解和爬取京东商品信息,及破解极验滑动验证码...
一.自动登录抽屉新热榜 from selenium import webdriver import timedriver = webdriver.Chrome(r'D:\BaiduNetdiskDow ...
- 爬虫进阶教程:极验(GEETEST)验证码破解教程
原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...
- 极验滑块验证码破解与研究(三):滑块缺口识别
极验滑块验证码破解与研究(三):滑块缺口识别 声明 一.环境安装 1. 第三方库安装 二.滑块缺口识别 1. 准备工作 2. 工具函数说明 3. 接口识别原理讲解 4. 缺口识别完整代码 三.结语 * ...
- 极验滑块验证码破解与研究(二):缺口图片还原
极验滑块验证码破解与研究(二):缺口图片还原 声明 一.缺口图片还原js分析 1. 为什么需要还原 2. 本篇文章需要用到的小工具 2.1. reres插件 3. 找到图片还原js入口函数 3.1. ...
- thinkphp整合极验滑动验证码源码演示下载
thinkphp整合极验滑动验证码源码演示下载-二当家的php源码下载 <!DOCTYPE html><html lang="en"><head> ...
- ThinkPHP5实现极验滑动验证码geetest功能
现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错误,也同样能起到防盗刷的功能.现在很多极验都是第三方的,也很多都是收费的.这里主 ...
- BiliBili等网站极验滑动验证码的详细破解过程
基于selenium自动化的滑动验证码破解 selenium python 验证码 1.环境配置(Linux) python2.7 pip安装的库:selenium , PIL Chrome浏览器 , ...
最新文章
- 基于wayland的linux桌面,揭开Wayland的面纱(二):Wayland应运而生
- 如何修改xd.properties文件中对象存储文件信息_对块存储、文件存储、对象存储的认识总结...
- python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例
- ue linux转dos格式,uestudio中如何把dos格式转为unix
- 卷积神经网络minst的verilog实现
- 电脑QQ能登上,网页打不开的解决办法
- 荣耀v40可以升级华为鸿蒙,网传荣耀V40机型也能升级鸿蒙OS 首批更新机型有望是这5款...
- 大数据学习笔记08:Java程序访问HDFS
- Python 字符串语法,for
- SpringCloud工作笔记041---com.fasterxml.jackson.databind.ObjectMapper的使用
- 解锁新招:冷冻手机窃密数据
- 《企业架构的数字化转型》10000字有感
- flashfxp安装,8步完成flashfxp安装
- operands could not be broadcast together with shapes
- 太湖之光超级计算机应用最高奖,“神威·太湖之光”两项应用入围“戈登·贝尔”奖...
- 自己设置假期的日历控件_在假期旅行时使用PC娱乐自己
- 如何用JAVA写acm_用java来写ACM
- Xxl-Job 初次体验
- RESTful API接口设计标准及规范;
- H3C交换机与cisco交换机对接配置案例和注意事项
热门文章
- HLS playlist典型示例
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)
- 存数据返回他的序列号id_雪花般的分布式唯一ID雪花算法
- JavaScript Math.random()随机数函数
- idea项目(git)版本回退
- Tomcat如何配置X-Frame-Options头
- Windows 下80端口被进程 System PID=4 占用的解决方法
- 【CCCC】L3-015 球队“食物链” (30分),搜索排列
- 路由器Lan、Wan短接问题
- c语言二维数组错误语法,关于c语言动态分配二维数组free的错误求dalao看看怎么回事谢谢啊~~~~...