某验滑块验证码逆向分析

news/2024/7/24 11:00:21 标签: python, 爬虫, 网络安全

本文章中内容仅供项目展示使用,不用于其他任何目的,逆向项目不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负任何法律责任,若有侵权,请联系作者立即删除!

前言

x验作为国内首家开创行为验证码先河的安全厂商,它的产品还是可以拿出来说道说道的。目前很多网站采用他的验证码方案来反爬虫,反DOSS。

关键参数破解过程

乱序图片生成

在这里插入图片描述
这是它的响应,响应中的fullbg和bg就是接下来要请求的乱序图片
在这里插入图片描述

这里的图片是乱序的,但是正常用户浏览的时候是正序的图片,那么它的加密算法中肯定有对图片的还原算法
在这里插入图片描述
在这里插入图片描述
它请求了带阴影的乱序图和不带阴影的乱序图,找到还原的位置
在这里插入图片描述
还原的数组顺序[39, 38, 48, 49, 41, 40, 46, 47, 35, 34, 50, 51, 33, 32, 28, 29, 27, 26, 36, 37, 31, 30, 44, 45, 43, 42, 12, 13, 23, 22, 14, 15, 21, 20, 8, 9, 25, 24, 6, 7, 3, 2, 0, 1, 11, 10, 4, 5, 19, 18, 16, 17],
注意它的乱序图片是312宽度的,每一张图片被切成了52块,上下各26块,每一小块长度为12px,但是还原的时候是取10px,也就是每一个小图片裁了2px,那么一排26张图片少26*2=52px,那么它最终的图片的宽度为312-52=260px,高度不变为160px

w加密参数生成

在这里插入图片描述

w为h+u生成,找h和u的生成方式,在上面几行

u加密参数生成

非标准rsa值加密,固定长度
在这里插入图片描述

为e的返回值,e=new U的返回值,参数为this[ C B F J f ( 721 ) ] ( t ) ,那么找到 U 的加密算法后,在找到 t h i s [ _CBFJf(721)](t),那么找到U的加密算法后,在找到this[ CBFJf(721)](t),那么找到U的加密算法后,在找到this[_CBFJf(721)]
在这里插入图片描述

t为undefined,返回的是rt()的值,rt为这个函数,返回了4个t函数相加
在这里插入图片描述

找到t函数的生成算法,return的就是一个t函数的生成算法
在这里插入图片描述

l加密参数生成

l为V函数,传入两个参数,第一个参数就是各种加密参数,最关键的为o参数,o的其他加密参数位置好找,最关键的为aa参数后面写过程,这个就是鼠标生成的轨迹,第二个参数为4个t函数相加

在这里插入图片描述

最后加密的l参数为一个大数组

h加密参数生成

将生成的l参数,传入m$_CAIAZ(769)这个函数里面进行加密

轨迹生成

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

l值为轨迹生成位置
l = n[ C J J I W ( 1078 ) ] [ _CJJIW(1078)][ CJJIW(1078)][_CJJJd(1069)](n C J J I W ( 1078 ) ] [ _CJJIW(1078)][ CJJIW(1078)][_CJJJd(1051), 返回值c, 返回值s)

旧轨迹(44个三维数组):
0: (3) [-26, -27, 0]
1: (3) [0, 0, 0]
2: (3) [1, 0, 31]
3: (3) [4, 0, 39]
4: (3) [7, 0, 47]
5: (3) [11, 0, 55]
6: (3) [15, 0, 63]
7: (3) [19, 0, 71]
8: (3) [24, 0, 79]
9: (3) [28, 0, 86]
10: (3) [32, 0, 93]
11: (3) [36, 0, 101]
12: (3) [39, 0, 109]
13: (3) [41, 0, 117]
14: (3) [42, 0, 125]
15: (3) [44, 0, 133]
16: (3) [45, 0, 141]
17: (3) [46, 0, 150]
18: (3) [47, 0, 157]
19: (3) [50, 0, 165]
20: (3) [51, 0, 173]
21: (3) [53, 1, 181]
22: (3) [55, 1, 191]
23: (3) [57, 1, 199]
24: (3) [58, 1, 207]
25: (3) [58, 2, 279]
26: (3) [59, 2, 287]
27: (3) [60, 2, 293]
28: (3) [61, 2, 309]
29: (3) [62, 2, 358]
30: (3) [64, 2, 366]
31: (3) [65, 2, 373]
32: (3) [66, 2, 382]
33: (3) [68, 2, 389]
34: (3) [69, 2, 456]
35: (3) [70, 2, 463]
36: (3) [71, 2, 471]
37: (3) [72, 2, 479]
38: (3) [74, 2, 487]
39: (3) [75, 2, 558]
40: (3) [76, 2, 573]
41: (3) [77, 2, 582]
42: (3) [78, 2, 589]
43: (3) [78, 2, 613]

新轨迹(42个三位数组)
//经过funtion(t)后
0: (3) [26, 27, 0]
1: (3) [1, 0, 31]
2: (3) [3, 0, 8]
3: (3) [3, 0, 8]
4: (3) [4, 0, 8]
5: (3) [4, 0, 8]
6: (3) [4, 0, 8]
7: (3) [5, 0, 8]
8: (3) [4, 0, 7]
9: (3) [4, 0, 7]
10: (3) [4, 0, 8]
11: (3) [3, 0, 8]
12: (3) [2, 0, 8]
13: (3) [1, 0, 8]
14: (3) [2, 0, 8]
15: (3) [1, 0, 8]
16: (3) [1, 0, 9]
17: (3) [1, 0, 7]
18: (3) [3, 0, 8]
19: (3) [1, 0, 8]
20: (3) [2, 1, 8]
21: (3) [2, 0, 10]
22: (3) [2, 0, 8]
23: (3) [1, 0, 8]
24: (3) [0, 1, 72]
25: (3) [1, 0, 8]
26: (3) [1, 0, 6]
27: (3) [1, 0, 16]
28: (3) [1, 0, 49]
29: (3) [2, 0, 8]
30: (3) [1, 0, 7]
31: (3) [1, 0, 9]
32: (3) [2, 0, 7]
33: (3) [1, 0, 67]
34: (3) [1, 0, 7]
35: (3) [1, 0, 8]
36: (3) [1, 0, 8]
37: (3) [2, 0, 8]
38: (3) [1, 0, 71]
39: (3) [1, 0, 15]
40: (3) [1, 0, 9]
41: (3) [1, 0, 7]
r’join’ + ‘!!’ + i’join’ + ‘!!’ + o’join’;

成果展示在这里插入图片描述


http://www.niftyadmin.cn/n/1333739.html

相关文章

最新某美滑块验证码分析

本文章中内容仅供项目展示使用,不用于其他任何目的,逆向项目不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许…

3. github---多人协作开发流程

1. 多人协作开发流程 A在自己的计算机中创建本地仓库A在github中创建远程仓库A将本地仓库推送到远程仓库B克隆远程仓库到本地进行开发B将本地仓库中开发的内容推送到远程仓库A将远程仓库中的最新内容拉去到本地 2. 程序员A先要做的事情 创建本地仓库创建远程仓库将本地仓库推…

某头条加密参数逆向分析

本文章中内容仅供项目展示使用,不用于其他任何目的,逆向项目不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许…

Vue实战之 7. 商品管理---商品分类

1. 商品分类概述 商品分类用于在购物时,快速找到所要购买的商品,可以通过电商平台主页直观地看到。 2. 商品分类列表 实现基本布局实现分类列表数据加载 // 获取商品分类数据async getCateList () {const { data: res } await this.$http.get(categor…

Vue实战之 8.商品管理 -- 分类参数

1. 参数管理概述 商品参数用于显示商品的固定的特征信息,可以通过电商平台详情页直观地看到。 2. 商品分类选择 1. 选择商品分类 页面基本布局加载商品分类数据实现商品分类的级联选择效果 // 获取所有的商品分类列表async getCateList () {const { data: res } …

Vue实战之 9.商品管理 -- 商品列表

1. 商品管理概述 商品管理模块用于维护电商平台的商品信息,包括商品的类型、参数、详情等。通过商品管理模块可以实现商品的添加、修改、展示和删除等功能。 2. 商品列表 实现商品列表布局效果调用后台接口获取商品列表数据 // 根据分页获取对应的商品列表async …

Vue实战之 10. 订单管理

1. 订单管理概述 订单管理模块用于维护商品的订单信息,可以查看订单的商品信息、物流信息,并且可以根据实际的运营情况对订单做适当的调整。 2. 订单列表 1. 订单列表展示 订单数据加载订单列表布局 // 获取订单列表async getOrderList () {const { d…

Vue实战之 11. 数据统计

1. 数据统计概述 数据统计模块主要用于统计电商平台运营过程中的各种统计数据,并通过直观的可视化方式展现出来,方便相关运营和管理人员查看。 2. 用户来源数据统计报表 1. Echarts 第三方可视化库的基本使用 详细代码可以去 菜鸟教程 进行复制 2. 实现…