使用Ruby逆向解析极验四代滑块验证码

一、极验请求分析
1. 滑块测试网站入口
极验验证码测试入口

2. 滑块验证过程抓包
与极验三代滑块验证码相比,极验四代简化了验证过程,加密参数w的生成也变简单了。和极验三代验证码一样的分析流程,继续撸就完了。

3. 请求详解
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等。

请求参数

ruby

{
  "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.5258a91d0f5f0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值