← 返回文章列表

极验4代滑块验证码逆向实战:混淆定位与AES+RSA混合加密的还原过程

极验4代滑块验证码采用动态混淆、PoW机制和AES+RSA混合加密保护,传统截图打码方式已失效。本文通过抓包定位参数来源,分析w参数生成逻辑,包括滑动轨迹处理、device_id填充、pow_msg和pow_sign逆向。结合全流程拆解,从初始化到验证提交,详细讲解参数构造与加密还原。结尾推荐易盾极验验证码识别技术,包括滑块、点选、无感、九宫格等破解方案和自动化API对接平台,可无缝对接公司业务。

极验4代滑块验证码逆向实战:混淆定位与AES+RSA混合加密的还原过程

极验作为国内主流验证码服务商,其4代滑块验证码安全防护已升级到动态水平。传统的通过截图上传再到第三方打码平台获取答案的方式早已无法奏效,只有深入协议层才能实现稳定突破。本文以某马拉雅登录触发滑块验证码为例,完整拆解从资源加载到参数构造再到核心加密字段的生成逻辑。用接地气的方式讲解,哪怕你是逆向新手也能跟着复现。

逆向目标与准备工作

我们的主要目标是逆向分析验证提交请求中的w参数。这个参数由p和u两部分拼接而成,服务器就是通过它来判断是否为真人的。验证流程包括初始化接口load和验证提交接口verify。

准备工作很简单,安装Chrome或Edge浏览器,使用F12打开开发者工具调试JavaScript,Python环境则用于后续算法实现。打开任意浏览器,访问目标网站,触发滑块验证码,在Network面板观察请求。

抓包分析与参数定位

某马拉雅登录过程弹出的验证码随机出现,可能是滑块也可能是点选,但分析流程类似。下面以滑块验证码为例分析。打开浏览器,触发滑块验证码,在Network面板观察load请求接口。

callback: geetest_1774104892707
captcha_id: 4f9ca589ee31bd384760d8d1cec5c675
challenge: f015e71e-4aeb-4a7c-bccb-6ada6e0d76d6
client_type: web
lang: zh-cn

固定值captcha_id每个站点都不一样,challenge由UUID动态生成。接下来滑动滑块验证,观察verify请求接口。

lot_number: 71f397b8f9b243698597f9a965e006d8
payload: [长字符串]
process_token: 5af9694d88f2f037f6b7a7b1d700bb193cf2cce915769340a80c6835c65c63f9
w: 968c9a9934eda63924de0f3312bcb0f462595cf4f62bf2c6e06f242390ad785b0ea31bd955309201bfdd5f3d1bd3e2714a5061c16f406db82160963678cac16ba9bbca4a203198f5e2d1fede4e76a3ef82499e1c0873a9c1150b4f352361f2adc7ab015d0cd2ae09ec794d0c6b0ee89b6f8e66ef53cdcde855887a52d7121ee102014f057ec4bb209e303ede82465295cd104315a4581172c85ae2c6c860a2bad5e26a41b913d203291102a801b63538ddddcedb4e86ca6db1643b6adcb54ac4f3a7b32a0f5b4dd210dedbb63f6d94f1106023f52060aabd51045e0ab6063f43633bbde96f2be01320e5e2c9189939d47960cde7d41307b5d37b36392df6c5218c791905dbd645103679d2fa7fba43915a17a60a993c3a31c8e53e6fa1d3e7da762486870b636de91ce5c1af85b70d51b7ab50a9b206dbe92a18b5d30eb4436cafe0525f84b8daa2bc231a47693a27b9292c641e37e52862788329eb60dec8f8ae28a5270efb5dbd6594d30d43d0a826800fda7f15a9a72430fb202c161301a45c81922152fe0f39801aa7f38d0dad7929d0bafdb863a8caa36517d1b497aa24505324dfe054312c31907f6778b1b8c4ccce7995233968bd44580c624446f5dd42e526d3e47e35cfd635095b8e37550a79923b3066a660c5e6da5a68e7048b636206a281d62974be5e8a2b011b1c02db129a799909a7025c655eda460ae203f1a8f0ca5d668eb15e03380222c931d65260a0e40dcc6cf789734b6f8284b2341e11925d2676eca920e56a3620c4dc3a4a940adeeb1a2fad25cedead9c33908696e523e9481b1140a62f12f23f70fa6298

payload_protocol、pt参数固定为1,w参数就是我们需要逆向的核心加密参数。关键参数来源包括captcha_id固定值、challenge动态生成、lot_number、payload、process_token来自load接口返回。

定位加密位置并还原代码

直接搜索lot_number关键词,找到4个匹配的地方进入查看。通过看lot_number周围是否有w参数来确定生成位置。找到后打断点,发现这里打不上断点,就在该语句上面的case语句上打断点。断下后还原关键代码。

var _ᖉᖉᖄᖁ = (0, _ᕿᕴᖁᖈ[_ᖉᕿᖃᖉ(52)])(_ᖂᕷᖗᖚ[_ᖉᕿᖃᖉ(52)][_ᖉᕿᖃᖉ(581)](_ᕿᖀᕶᕴ), _ᖘᕺᖁᖀ)

还原后为:

var _ᖉᖉᖄᖁ = _ᕿᕴᖁᖈ['default'](_ᕿᖀᕶᕴ, _ᖘᕺᖁᖀ)

查看入参,_ᕿᖀᕶᕴ包含setLeft滑动距离、passtime经过时间、userresponse滑动时间、device_id设备ID、lot_number、pow_msg、pow_sign、geetest等字段。device_id为空,pow_msg和pow_sign是待逆向部分。

pow_msg与pow_sign逆向分析

pow_msg字符串格式为1|0|md5|时间戳|captcha_id|lot_number||05d2451b9680f973。通过md5散列计算得到pow_sign。逆向思路是构造这个字符串,计算md5值,就能得到签名。

结合滑动轨迹和时间信息,拼接参数后计算散列。完整流程包括初始化获取公钥信息,然后构造pow_msg字段再计算pow_sign。w参数就是将这些处理后的值加密后拼接而成。

AES+RSA混合加密还原

w参数涉及AES对称加密和RSA非对称加密混合机制。先用AES加密原始数据,再用RSA公钥加密密钥,最后组合成最终w值。通过分析load返回的公钥信息和加密算法标识,就能还原整个加密过程。

整个从混淆定位到参数构造再到加密还原,结合抓包和调试,就能实现稳定突破。许多公司业务在对接验证码时,需要处理大量请求,www.ttocr.com 易盾极验验证码识别技术正好提供滑块、点选、无感、九宫格等破解方案和自动化API对接平台,让对接流程变得简单高效。