极验4代滑块分析

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

前言

这次会简单的讲解极验4代滑块的逆向分析流程,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可私信我。

一、请求流程分析及参数分析

  1. 滑块测试网站入口
https://www.geetest.com/adaptive-captcha-demo
  1. 滑块验证过程抓包
    与极验三代滑块验证码相比,极验四代简化了验证过程,加密参数w的生成也变简单了。和极验三代验证码一样的分析流程,扣就完了。
    在这里插入图片描述
    不通网站的captchaId不一样的,但是这个是网站的固定值。

  2. 请求详解
    3.1. adaptive-captcha-demo
    请求介绍
    极验第四代验证码测试主页,主要是获取下个请求中的url(这个url是动态变化的,所以这个步骤必须要)

请求参数

没啥参数

请求响应

响应为html文档,通过正则匹配下个步骤的请求url
href="(.\*?adaptive-captcha-demo\.js)"

3.2. adaptive-captcha-demo.js
请求介绍
获取w参数加密需要的参数captchaId

请求参数
实际破解滑块过程中,此请求可忽略。

没啥参数

请求响应

响应为js文件,通过正则匹配captchaId参数的值
captchaId:"([0-9a-z]+)"

3.3. load
请求介绍
获取验证码信息,包括:验证码类型、验证码背景图、验证码滑块图、lot_number参数、静态文件url等

请求参数

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为变化值。

{
   
   
    "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": "system",
            "_radius": "4px"
        }
    }
}

3.4. verify
请求介绍
该请求是极验验证请求,gcaptcha4.js收集滑动轨迹,与上个请求中的lot_number参数,加密生成w参数。

请求参数

captcha_id: 24f56dc13c40dc4a02fd0318567caef5      // 与上个请求中的captcha_id参数相同
challenge: e29f82f7-78db-42de-913f-fb1b01d3e30b   // 与上个请求中的challenge参数相同
client_type: web                                  // 固定值
lot_number: c574cd8c30a541b28597fb4582542c61      // 上个请求的响应中lot_number参数值
risk_type: slide                                  // 验证码类型
pt: 1                                             // 上个请求的响应中pt参数值
w: c742e66584e3b20ad523c2ddff...                  // gcaptcha4.js收集滑动轨迹加密生成
callback: geetest_1641878916958                   // 当前时间戳

请求响应
验证成功,拿到seccode。

{
   
   
    "status": "success",
    "data": {
   
   
        "lot_number": "5b79a07bfb1640c1955ef28fbe28bef0",
        "result": "success",
        "fail_count": 0,
        "seccode": {
   
   
            "lot_number": "5b79a07bfb1640c1955ef28fbe28bef0",
            "pass_token": "f5b3b3d7664e032bc06730d56f83433046af98878bfa796d5e4b5b5f48904e40",
            "gen_time": "1641880037",
            "captcha_output": "2W2T6RrNJ8qVlCuIQxrHVp0imaZt_LrywRPCvYEbTHwQyoZwHIYvpYM5zF0-qSl8LQF_m8ggUDGiA0b8IDdrjji1YjjbEERRWAP9SxWj-G090QRaou4m8NnZL0NVmBie"
        },
        "score"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值