百度V2旋转验证码

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

前言

在一年多之前搞过一个百度V1旋转验证码: https://mp.weixin.qq.com/s/ETBJ-gmMlMeowv6977OmAg

时隔一年多 来搞(水)一篇旋转V2验证码。炒一波冷饭吧。

抓包分析

其实和V1的流程差不多。

只是请求和校验参数不同

这里v2流程简单说说

init 获取参数===> cap_style 获取图片 === > log 识别+轨迹 获取 ====> 识别完成

这里前面都没什么好说的 。记得要把有用的值都要提取出来哦(spin-0)

直接看最后一个参数

先看看传参

重点关注下 fuid 和 fs

fuid; 环境生成的加密参数

fs:和v1差不多

再来看下回参

其实没啥好主意的。返回的as和tk还是原来的只是置为有效的。

返回的 op

1 代表成功

3 代表失败

加密分析

fuid

定位点如下:

这里看下参数。其实基本都是环境参数。

常规的AES加密 直接导库运行即可。 可写死。

fs

定位点如下:

可以看到 序列化了 一下这个this.rzData 然后 传了两个参数给 u.Li 这个参数。

然后u.Li 基于this.secondHandle 判断加密方法。

先不管里面的加密 先把外面的伪造好。

这里外层经过了两次 AES加密 得到了最终的值。

这里先看下第二次AES加密 即第一次加密完之后。又加密了一次

有个 this.newKey.

这里是如下图getNewKey的地方。参数为as

都解决完外层加密。这里看看rzData参数了

rzData

如上图所有

this.rzData中共有以下主要参数

  1. captchalist.spin-0.backStr
  2. captchalist.spin-0.ac_c
  3. captchalist.spin-0.back
  4. captchalist.spin-0.cr
  5. captchalist.spin-0.mv
  6. captchalist.spin-0.p
  7. common.cr
  8. common.mv
  9. common.simu

这里详细来看看。

captchalist.spin-0.backStr 这里不说了

common.simu: 默认写死 0 不解释

common.cr: 返回的设备信息

captchalist.spin-0.mv:轨迹

captchalist.spin-0.back

captchalist.spin-0.cr

captchalist.spin-0.p:

从这里往下追。

最终发现在这个地方生成p值

这里的originStr是之前接口返回的 spin-0 值。

count 是 接口中的c。

captchalist.spin-0.ac_c

从此处往上追栈。

结果发现ac_c 的地方

继续往上追到最后

最后拼接下所有的参数。

影响的点其实就几个

  1. ac_c
  2. p
  3. 轨迹

并且轨迹也不是很严格。

所以拼接下几个请求应该就能完成后续的请求。

结语

完成装逼图如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值