逆向精选—某度v1旋转验证码

声明

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

目标网站

aHR0cHM6Ly9hdXRob3IuYmFpZHUuY29tL2hvbWU/ZnJvbT1iamhfYXJ0aWNsZSZhcHBfaWQ9MTU2NTA5MjE0MjUwODY1OA==

前言

之前搞过一个某壳登录的文章里面有牵扯到百度的喵星人指纹。 今天来搞一下某度-某家号的旋转验证码。 说实话 我也不知道这个是v1旋转还是v2旋转。 只是刚好用到了。就研究了一下。

分析

通过代码或者自动化工具或是代理访问会出现验证码。 也可以通过无痕浏览器清除掉cookie 反复刷新两次也可以出现 如下图 刷新此页面 如图所示 列表中没有数据。我们网上看。 这里不卖关子了。

第一次的viewlog 请求。

请求参数如下

  • ak是固定值。
  • callback的生成逻辑如下(写死也可以)
  • _ 是时间戳
js 复制代码
function get_callback() {
                    page = 0
                    prefix = "__jsonp"
    
    
                    return "".concat(prefix).concat(page++).concat((new Date).getTime())
                }

返回值 as 和 tk 以及as 在之后的请求参数会用到

getstyle获取图片

如图所示。这个请求呢就是获取图片的参数。 请求参数如下

  • 其他参数同第一次参数一样
  • tk 第一个请求的返回值里的值 返回值 backstr,以及img img就是需要识别的图片。

第三次请求第二次viewlog请求

如图所示。又是 viewlog请求 传参

  • 其他参数同上。
  • as 第一次接口返回
  • tk 第一次接口返回
  • fs 需要我们逆向的参数。

fs的生成逻辑

首先打开第二次viewlog参数生成的地方。我们跟栈进去 找到这个postData 往上走 ok 以及看到了fs的生成逻辑了。 就是这个

js 复制代码
var i = JSON.stringify(o.rzData), r = o.encrypt(i)

这里牵扯到两个东西

  1. o.rzData
  2. o.encrypt

o.rzData

如上图所示 可以看到。分别有两个参数 backstr:上文请求获取到的backstr ac_c:识别的角度。仍需判断参数传递位置。 我们继续在代码中搜索 ac_c 最后锁定在这个位置。 然后我们继续找i.percentage 最后确定在这个位置。 ac_c的计算方式如下

js 复制代码
var ac_c = parseFloat(angle / 360).toFixed(2)

angle是识别的角度。

o.encrypt

这个就很简单了。 断点进去一看 一目了然的AES。 唯一不清楚的点

js 复制代码
t = this.store.nameL + this.store.nameR
  • this.store.nameL: 第一次请求返回的 as
  • 定值:"appsapi0"

识别验证码以及封装

这里呢 识别验证码。有一万种方法识别。我就不推荐了。毕竟也没有广告费。 获取的角度以及接口返回的backstr还有as当作传参生成fs 最后传给最后一次的viewlog请求。

最后op传参返回为1 代表返回成功。 然后再看数据接口 果然有数据。

结语

成功后 如图所示 本章说实话不难。但是需要的资料较多。而且要有耐心。识别验证码也需要找打码平台或者自己训练。 也算是不错的一个学习案例。 代码在星球 可自取

公众号链接

星球链接

相关推荐
遇事不決洛必達14 小时前
【爬虫随笔】常见加密算法特征总结
javascript·爬虫·逆向·加密算法
阿昭L1 天前
Windows用户态hook技术总结
windows·逆向·hook
遇事不決洛必達2 天前
【爬虫随笔】常见js混淆原理和特征
javascript·爬虫·逆向·js加密
浩浩测试一下6 天前
汇编 16位32位64位通用寄存器(逆向分析)
汇编·windows·stm32·单片机·嵌入式硬件·逆向·二进制
Lang-12107 天前
Frida + Android Hook 完整指南
android·逆向·hook·frida
浩浩测试一下7 天前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
浩浩测试一下7 天前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
程序0078 天前
.NET玩转爬虫 遇到反爬 jsl cookie
逆向
RSCompany8 天前
Frida 17 以后 Python API 跑旧版 JS 报 Java is not defined ?一行 import 直接恢复 Frida 16 体验
开发语言·python·逆向·hook·frida·android逆向·frida17
浩浩测试一下8 天前
汇编中的JCC指令 (逆向分析)
汇编·逆向·标志位·jcc指令·跳转指令·标志位寄存器