淘宝滑块x82y-226流程分析(不涉及逆向)

2023-11-15

分析目标

  • 微信公众号: y小白的笔记 ((https://mp.weixin.qq.com/s/Py7I6RG7UT9EtdpXlV98aA)

  • 只分析验证码加载流程, 不说具体细节

  • 版本 226

  • 目标参数slidedata.n

  • 成功返回 {"code":0,"result":{"code":0,"sig":"from bx"},"success":true} 并且响应头有bx-x5sec: ***

  • 滑块初始化(主逻辑), fireyejs.js

  • 暴露接口 awsc.js

流程分析

1, 初始化

  • 点击密码输入框会触发滑块, 所以点击输入框之前下断点 脚本第一条语句, 会发现滑块已经开始了初始化, window._config_,

  • 一直F8, 直到看到目标jsfireyejs.js, 稍微梳理下, 会发现最后调用了i(49), 并且 上面声明了 a = [];, 在i(49)执行之后会发现a里面已经有95位

  • document.currentScript 为当前加载的script节点, 没有dom解析的需要自己去构造

  • lswucn 可以直接复制, 但是后面的时间戳不可写死

  • 其中36/37/94位索引, 本质为时间戳, 但是被重写了 toString, 84位索引本质是不存在的, 但是调用了被重写之后的toString之后, 84则会被push, 可以手动定位索引push的位置, 然后手动跟几步, 会发现toString重写的位置, 删了就好

  • 并且设置了定时器, 异步方法调用, 在初始化完成之后需要在合适的时机去调用

  • 注意: 存在的索引要和浏览器一致

  • 快速定位索引

function hookArray(target, index) {
    return new Proxy(target, {
        set(target, property, value) {
            if (property === (index + "")){ debugger }
            console.log(`setArray index->${property} = ${value}`);
            target[property] = value;
        },
        get(target, property){
            if (property === (index + "")){ debugger }
            let result = target[property];
            try{ console.log(`getArray index->${property} = ${result}`); }catch(e){}
            return result;
        },
        deleteProperty(target, property) {
            console.log(`deleteArray index->${property}`);
            delete target[property];
        }
    });
}
a = hookArray(a, 37);

2, 事件触发

  • 浏览器获得鼠标操作, 本质是注册了鼠标事件

  • 在初始化的时候, js注册了几个事件

  • deviceorientation陀螺仪事件, 在load事件之后调用, 由于这里没有注册load事件, 所以在 fireyejs.js 初始化之后, 浏览器会异步执行deviceorientation 事件

  • 本地在js初始化完成之后, 手动调用这个事件

3, 滑块初始化-结果

  • 先触发滑块 然后打开浏览器鼠标mousedown断点

  • 点击滑块之后最终会断到这里

  • __fy 其实是上面AWSC.configFYEx(function(n) {, 通过回调方法返回, 并设置到全局的返回值

  • 结果获取

4, 流程总结

  • 初始化目标js

  • 运行陀螺仪事件异步方法

  • 初始化滑块(AWSC.configFYEx)

  • startRecord

  • 鼠标事件调用(通过事件调用, 无需关注加密, 只需要喂进去对的参数)

  • getFYToken 获得加密结果值

总结

  • 可以适当的挂上代理去看缺少了什么环境

  • 要去对比98位数组 浏览器和本地的差异, hook数组去快速定位,

  • 缺啥补啥

  • 图是糊了点, 糊了好, 糊了安全

end 你的点赞是我最大的动力!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

淘宝滑块x82y-226流程分析(不涉及逆向) 的相关文章

  • onYouTubeIframeAPIReady 函数未调用

    我想打电话onYouTubeIframeAPIReady函数 但这没有触发 我只得到frameID在控制台中 但其他函数没有被调用 document ready function var player var ytsrc video hol
  • 邮件附件媒体类型错误 Gmail API

    我正在尝试通过 Javascript 客户端中的 Gmail API 发送带有附加 jpeg 文件的消息 到目前为止我写的代码如下 ajax type POST url https www googleapis com upload gma
  • browserify 错误 /usr/bin/env: 节点: 没有这样的文件或目录

    我通过 apt get install 安装了 node js 和 npm 以及所有依赖项 然后安装了 browserify npm install browserify g 它完成了整个过程 看起来安装正确 但是当我尝试为此做一个简单的捆
  • 最小的 ExtJS 包是什么?

    有谁知道 Ext JS 2 2 所需的最少文件吗 我知道 ExtJS 网站有一个功能 build http extjs com products extjs build ExtJS ext js 的小版本 作为 ext all js 的替代
  • 如何在CKEditor 5中监听焦点事件

    我想听一下 CKEditor 5 中的焦点事件 我认为这样的事情会起作用 但回调从未被调用 document querySelector editable ClassicEditor create el then editor gt edi
  • React延迟加载/无限滚动解决方案

    我花了一段时间才弄清楚如何使用优秀的延迟加载图像React Lazyload 组件 https github com jasonslyvia react lazyload 演示在滚动时延迟加载图像 但在测试时我无法获得相同的行为 罪魁祸首是
  • 检测 iframe 内容加载失败

    我可以使用以下命令检测 iframe 的内容何时加载load事件 不幸的是 就我的目的而言 这有两个问题 如果加载页面时出现错误 404 500 等 则永远不会触发加载事件 如果某些图像或其他依赖项加载失败 则会照常触发加载事件 有什么方法
  • JSDoc:如何在生成的文档中包含自定义 css 文件模板?

    JS文档docs https jsdoc app about configuring default template html say 将图像目录复制到输出目录 复制全部 将 myproject static 中的静态文件复制到输出目录
  • History.replaceState 仍然向“浏览历史记录”添加条目

    具体来说 调用以下代码片段 history replaceState undefined undefined value 正确地不会影响当前页面的后退按钮行为 但是will在 浏览历史记录 页面添加一个条目 这是我不想要的 下图是 Chro
  • 如何向尚未添加到页面的元素注册 Javascript 事件处理程序

    我正在尝试构建一个greasemonkey 脚本 它将根据用户与其他动态创建的数据表的交互动态创建数据表 我的问题是 每次创建表时 我都必须进行两次传递 一次用于创建表 另一次用于获取表中我想要添加事件处理程序的所有对象 通过 id 并添加
  • 有没有办法在 TypeScript 2+ 中全局添加类型定义?

    我有一堆简单的 ts files 不是项目 即独立的 ts 脚本 他们使用一些 Node js 功能 TypeScript 和节点类型定义通过安装 npm install g typescript npm install g types n
  • 页面点击其他路径后 $timeout 继续运行

    我在用yo angular fullstack生成器来构建我的网站 当用户注册该网站时 它将发送一封带有链接的激活电子邮件 当用户点击该链接时 会显示激活成功并超时进入主页 但是 当超时未结束 用户点击页面中的任何其他链接时 会跳转到其他页
  • 如何检查jquery数据表中的每个复选框?

    我有一个第一列带有复选框的表格 我使用 jQuery DataTable 插件显示我的表格 我制作了 2 个链接来选择 取消选择每个复选框 这是选择全部的一个 a href Select all a 和 JavaScript functio
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • 比较 javascript 元素和 scala 变量的 Play 框架 Twirl 模板

    如下面的代码示例所示 我想比较 scala 辅助元素内的 javascript 元素 然而 即使存在元素 abcde 它也始终返回 false 除了使用标签之外 如何获取 scala 辅助元素内的 javascript 值 appSeq S
  • CryptoJS 和 Pycrypto 一起工作

    我正在使用 CryptoJS v 2 3 加密 Web 应用程序中的字符串 并且需要在服务器上使用 Python 对其进行解密 因此我使用 PyCrypto 我觉得我错过了一些东西 因为我无法让它工作 这是JS Crypto AES enc
  • nvd3.js - 无法更改折线图中线条的颜色

    我正在尝试更改 nvd3 折线图不同线条的颜色here http nvd3 org livecode index html codemirrorNav但我无法理解该怎么做 我想将示例中的 2 条线的颜色更改为绿色和青色 我试过 nv add
  • 使用 dnode 从服务器向客户端发送消息

    几个月前 我发现了 nowjs 和 dnode 并最终使用了 nowjs 并且https github com Flotype nowclient https github com Flotype nowclient 用于客户端 服务器双向
  • 如何在 jQuery 中检查复选框是否被选中?

    我需要检查checked复选框的属性 并使用 jQuery 根据选中的属性执行操作 例如 如果age复选框被选中 然后我需要显示一个文本框来输入age 否则隐藏文本框 但下面的代码返回false默认情况下 if isAgeSelected
  • Javascript / jQuery - 转换特殊 html 字符

    我有一个pre元素中包含一些 html 代码 该代码中有特殊字符 例如 lt 所以它不会破坏页面 然后我有一个 javascript 函数 它获取此 pre 元素的内容 突出显示它 使用 codemirror 并用突出显示的文本替换元素内容

随机推荐

  • selenium 自动化测试工具(七)python日志logging基本用法、高级用法

    设置logging import logging import time import os class LoggingMethod def getlogger self logger logging getLogger logger se
  • 使用Git上传代码到GitHub

    首先需要一个github账号 所有还没有的话先去注册吧 https github com 使用git需要先安装git工具 这里给出下载地址 下载后一路直接安装即可 https git for windows github io 1 进入Gi
  • LeetCode 1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    LeetCode 1 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 你不能重复利用这个数组中同样的元素 示例 给定 nu
  • 第十四届蓝桥杯第三期模拟赛(python版)

    总体难度不大 正赛肯定比这难 本人答案代码样例都能过 前五个填空题正确性应该都问题不大 有更好方法欢迎放出来 大题但可能有一些细节没有考虑到 时间复杂度这一方面是都考虑了的 大题仅供参考 有更好的方法的 欢迎讨论 目录 问题1 问题2 问题
  • 项目总结:如何开发出好的项目

    每件事都需要考虑它的价值 然后决定投入 1 项目如果要做的好 必须要有丰富的文档支持 文档的意义在于只有形成文档 才能更好的去沟通和判断 对有可能出现问题的地方提前预警 另外 任何一个系统不只有开发成本 运维成本有时会超出我们的想象 即便一
  • 卷积神经网络在自然语言处理中的应用

    卷积神经网络最典型的应用领域是计算机视觉 卷积神经网络在图像分类中取得了重大突破 典型应用有facebook的图像自动标注 还有自动驾驶等 卷积神经网络也可以用于自然语言处理 由于卷积神经网络在计算机视觉中的应用最广 首先阐述这个 然后再介
  • 点、线、面生成mvt(MapBox Vector Tile)格式的瓦片总结

    矢量切片可以以三种形式呈现 GeoJSON TopoJSON 和 MapBox Vector Tile mvt 矢量切片技术继承了矢量数据和切片地图的双重优势 有以下优点 瓦片以mvt格式的存储 是以每一个瓦片号为基准进行存储的 大小都是2
  • Basic Level 1013 数素数 (20分)

    题目 令 P i表示第 i 个素数 现任给两个正整数 M N 10 4 请输出 P M到 P N的所有素数 输入格式 输入在一行中给出 M 和 N 其间以空格分隔 输出格式 输出从 P M到 PN的所有素数 每 10 个数字占 1 行 其间
  • Java将数据导出为xml格式

    需求 前后端分离项目 Springboot项目 需要将学生 信息导出为xml文件 StudentController java GetMapping getXml public void studentXml HttpServletRequ
  • linux spi测试程序,spidev测试方法 /how to test spidev

    在设备树中配置spidev 首先需要在设备树配置好spi设备 可参考如下配置 ecspi3 pinctrl names default pinctrl 0 cs gpios dmas dma names rx tx status okay
  • Excel分段线性插值函数实现

    问题 已知 X和Y有下表的对应关系 当一个新的4
  • 高级FPGA设计技巧!多时钟域和异步信号处理解决方案

    有一个有趣的现象 众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域 换句话说 只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口 虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题 但是由于FP
  • python 连接MySQL数据库

    方式一 pymysql 下载mysql驱动模块 pip install pymysql python 链接mysql示例 导入mysql连接驱动模块 import pymysql host ip地址 port 端口号 user 数据库用户名
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 链表算法的一些领会

    有些题目是一节一节的处理链表 比如reverseBetween ListNode head int m int swapPairs ListNode head reverseInKGroup ListNode head int k 主要考虑
  • docker操作

    一 docker常用操作 1 docker基本命令 批注 第9条 若不写版本号 默认使用lastest 最新版本 建议拉取镜像带上版本号 第10条 其中q是当下id队列的意思 比如查看所有的容器的id docker ps a q docke
  • 华为OD机试真题 Java 实现【支持优先级的队列】【2023 B卷 100分】

    一 题目描述 实现一个支持优先级的队列 高优先级先出队列 同优先级时先进先出 如果两个输入数据和优先级都相同 则后一个数据不入队列被丢弃 队列存储的数据内容是一个整数 二 输入描述 一组待存入队列的数据 包含内容和优先级 三 输出描述 队列
  • 如何设置电脑的固定IP地址

    大家在上网时电脑的IP地址往往都是自动选择的 但在局域网内有时会方便共享文件和监控流量等操作时需要固定的IP地址 下面将简单介绍如何手设置电脑的固定IP地址 步骤 单击电脑网络连接图标 打开网络和共享中心 点击本地连接 点击详细信息 即可看
  • vue列表渲染,鼠标点击改变样式

    话不多说 看下面的代码吧 HTML div ul class nav li item li ul p list ind p div 注 别忘记先引入vue js
  • 淘宝滑块x82y-226流程分析(不涉及逆向)

    分析目标 微信公众号 y小白的笔记 https mp weixin qq com s Py7I6RG7UT9EtdpXlV98aA 只分析验证码加载流程 不说具体细节 版本 226 目标参数slidedata n 成功返回 code 0 r