一、极验请求分析
1. 滑块测试网站入口
访问极验滑块验证码测试页面:极验滑块测试
2. 滑块验证过程抓包
与极验三代滑块验证码相比,极验四代简化了验证过程,加密参数w的生成也变简单了。和极验三代验证码一样的分析流程,继续分析。
3. 请求详解
3.1. adaptive-captcha-demo
请求介绍
极验第四代验证码测试主页,主要是获取下个请求中的URL(这个URL是动态变化的,所以这个步骤必须要)
请求参数
无特别参数
请求响应
响应为HTML文档,通过正则匹配下个步骤的请求URL
html
href="(.*?adaptive-captcha-demo\.js)"
3.2. adaptive-captcha-demo.js
请求介绍
获取w参数加密需要的参数captchaId
请求参数
无特别参数
请求响应
响应为JS文件,通过正则匹配captchaId参数的值
javascript
captchaId:"([0-9a-z]+)"
3.3. load
请求介绍
获取验证码信息,包括:验证码类型、验证码背景图、验证码滑块图、lot_number参数、静态文件URL等
请求参数
javascript
const params = {
"captcha_id": "24f56dc13c40dc4a02fd0318567caef5",
"challenge": "f8beca82-84a4-4b32-a01d-dae1697f1236", // 由JS代码生成,下面会详细讲解生成过程
"client_type": "web",
"risk_type": "slide",
"lang": "zh",
"callback": "geetest_1641878914316" // 当前时间戳
};
请求响应
响应中的c、s在后续无感验证生成w参数时需要使用,其中c为定值,s为变化值。
json
{
"status": "success",
"data": {
"lot_number": "c574cd8c30a541b28597fb4582542c61",
"captcha_type": "slide",
"js": "/js/gcaptcha4.js",
"css": "/css/gcaptcha4.css",
"static_path": "/v4/static/v1.4.4",
"slice": "pictures/v4_pic/slide_2021_07_14/Group81/slide/019d7acaf9aa4f488a332b6baff7176b.png",
"bg": "pictures/v4_pic/slide_2021_07_14/Group81/bg/019d7acaf9aa4f488a332b6baff7176b.png",
"ypos": 116,
"gct_path": "/v4/gct/gct4.5258a91d0f5f0bb73c65d4d18d48d93f.js",
"arrow": "arrow_1",
"show_voice": false,
"feedback": "https://www.geetest.com/Helper",
"logo": true,
"pt": "1",
"captcha_mode": "risk_manage",
"language": "zh",
"custom_theme": {
"_style": "stereoscopic",
"_color": "hsla(224,98%,66%,1)",
"_gradient": "linear-gradient(180deg, hsla(224,98%,71%,1) 0%, hsla(224,98%,66%,1) 100%)",
"_hover": "linear-gradient(180deg, hsla(224,98%,66%,1) 0%, hsla(224,98%,71%,1) 100%)",
"_brightness": "sys