首页 > 其他分享 >逆向实战29——某度-某家号2024旋转验证码识别

逆向实战29——某度-某家号2024旋转验证码识别

时间:2024-02-11 19:12:18浏览次数:32  
标签:请求 viewlog 验证码 29 2024 backstr 参数 某度 识别

前言

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

目标网站

aHR0cHM6Ly9hdXRob3IuYmFpZHUuY29tL2hvbWU/ZnJvbT1iamhfYXJ0aWNsZSZhcHBfaWQ9MTU2NTA5MjE0MjUwODY1OA==

前言

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

分析

通过代码或者自动化工具或是代理访问会出现验证码。
也可以通过无痕浏览器清除掉cookie 反复刷新两次也可以出现
如下图

刷新此页面

如图所示 列表中没有数据。我们网上看。
这里不卖关子了。

第一次的viewlog 请求。

请求参数如下

  • ak是固定值。
  • callback的生成逻辑如下(写死也可以)
  • _ 是时间戳
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的生成逻辑了。
就是这个

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的计算方式如下

var ac_c = parseFloat(angle / 360).toFixed(2)

angle是识别的角度。

o.encrypt

这个就很简单了。

断点进去一看 一目了然的AES。
唯一不清楚的点

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

识别验证码以及封装

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

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

果然有数据。

结语

成功后 如图所示

本章说实话不难。但是需要的资料较多。而且要有耐心。识别验证码也需要找打码平台或者自己训练。
也算是不错的一个学习案例。

标签:请求,viewlog,验证码,29,2024,backstr,参数,某度,识别
From: https://www.cnblogs.com/zichliang/p/18009402

相关文章

  • 2024牛客寒假算法基础集训营2 补题
    2024牛客寒假算法基础集训营2补题A.TokitsukazeandBracelet签到模拟参考代码:#include<bits/stdc++.h>usingnamespacestd;#definefffirst#definesssecond#defineebemplace_back#defineall(u)u.begin(),u.end()#defineendl'\n'#definedebug(x)cout......
  • 2024春晚刘谦魔术揭秘
    2024春晚刘谦魔术揭秘!魔术步骤任意4张扑克牌,叠在一起对半撕开,再叠在一起名字有几个字,就把几张扑克,依次放到最下面再将最上面3张,插到剩下扑克牌的中间任意位置拿出最上面一张扑克牌藏起来任意拿出一张、两张或三张扑克牌,再插到剩下扑克牌的中间任意位置如果是男生拿一张,如......
  • 寒假训练 2024/2/11凌晨
    紫书uva437标签:二位偏序,区间dp题意:给$n$种长方体,每种有无限块,要求罗列最高的高度。限制条件是在下面的长方体的长和宽要严格大于上面的。思路:思路很简单,题目给的$n的范围[1,50]$,模拟一下我们可以推断,每一种长方体有$A_3^{3}=6$种排列方式,我们把每一种的六种排列方式......
  • 2024/2/10学习进度笔记
    RDD,学名可伸缩的分布式数据集(ResilientDistributedDataset)。是一种对数据集形态的抽象,基于此抽象,使用者可以在集群中执行一系列计算,而不用将中间结果落盘。而这正是之前MR抽象的一个重要痛点,每一个步骤都需要落盘,使得不必要的开销很高。对于分布式系统,容错支持是必不可少的。......
  • BeginCTF 2024(自由赛道)MISC
    realcheckin题目:从catf1y的笔记本中发现了这个神秘的代码MJSWO2LOPNLUKTCDJ5GWKX3UN5PUEM2HNFXEGVCGL4ZDAMRUL5EDAUDFL5MU6VK7O5UUYMK7GEYWWZK7NE3X2===你能帮助我找到最后的flag吗?我的解答:base32解码begin{WELCOMe_to_B3GinCTF_2024_H0Pe_YOU_wiL1_11ke_i7}下一站上岸......
  • 2024年应该关注的十大人工智能创新
    人工智能(AI)不再只是一个流行词,它已成为我们日常生活的重要组成部分。人工智能在去年深入地融入我们社会的各个方面,改变我们的生活方式、工作方式以及与技术互动的方式。今年是大年初一,我们将探讨2024年可能出现的十大人工智能创新,拥抱这些即将到来的人工智能创新,可以为一个充满激......
  • 关于刘谦2024春晚的数学游戏原理
    自己想出来的!首先牌的顺序肯定是形如\(ABCDABCD\)。将牌的顺序考虑成一个字符环。按照名字长度对该字符环进行左移,本质上没有打乱这个环的顺序。因此在置换后,牌的顺序还是会形如\(ABCDABCD\)。将前三张随机放到牌堆中间,我们发现此时牌堆顶和牌堆底的两张牌是一样的。因此......
  • 2024.2.8&2024.2.9
    1.重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不改变。即外科不变,核心重写。重写的好处在于,子类可以根据需求,定义特定于自己的行为。也就是说子类可以根据需求实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法更加宽泛的异常。例如:父......
  • 回顾2023,拥抱2024
    导航引言降本增效:一滴油的启示ChatGpt:助推AI落地的催化剂技术部为GMV负责:战略转型还是权宜之计做灯泡还是发动机:职业发展灵魂之问长期主义:坚持做高价值的事情2023年,你努力了吗发展是解决一切问题的总钥匙幸福是奋斗出来的结语引言农历新年的钟声即将敲响,再过几个小......
  • 2024 年,我想和这个世界聊聊
    这些主要记录一些过去的趣事和我干过的一些傻逼事件,外人当玩笑看就好。我主要就是写给自己看的。因为是写给自己的,大家就不要要求语法和华丽的词藻了。我在家人看春晚的时候写的,全家人都在看春晚我窝在房间写文章,确实有一些异样的体验。转眼间,他妈就2024年了。这篇文章其实......