某盾滑块js逆向

2023-11-06

注:本篇博客仅供学习使用,请勿用做其他商业用途,如有侵权,请联系本菜鸟删除
本小菜鸟已经快两个月没更新文章了,一年总有那么356天不想努力,就想躺平,最开始学习js逆向的时候,用Python算法还原了某盾的空间推理,到现在已经过去半年多,这半年时间收获了很多,也得到了很多大佬的指点,所以我愿意把我遇到的一些学习经验分享给大家,希望大家在学习的过程中少走一些弯路。
好了,废话说了一大推,下面是本次学习的目标网址

网址:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc=

难点分析:

  • 加密的参数较多,其中一个有问题就会导致请求不成功,最终失败,本小菜鸟在逆向的过程中踩了不少的坑
  • 有两个加密参数中会涉及到随机值,而且随机值不能始终固定为一个,不然也会造成失败
  • 滑块的距离和轨迹的距离会有差距,就拿官网的滑块来说相差10px左右(具体的网站具体分析)
  • 有几个参数的加密会涉及到浏览器环境检测,建议大家用Proxy()拦截逐一检查补环境,或者使用jsdom

流程分析:

  • 【d请求】[请求参数]:(d,v) -----> [返回参数]:一个列表
  • 【b请求】[请求参数]:(d,v) -----> [返回参数]:一个列表,有很多博主说b请求可做可不做,不重要,但是这是某盾逆向必不可少的一个重要步骤
  • 【get?referer请求】[请求参数]:(acToken,fp,cb等) ----> [返回参数]:验证码背景图片,滑块图片,token
  • 【check?referer请求】[请求参数]:(data,cb等) ---->[返回参数]:成功返回validate

主要的流程就是这几个请求,加密请求参数都在流程里面体现出来了,接下来咱们就按照上面的顺序开搞

一、d请求与b请求(重点)

说明:

  1. d请求和b请求是某盾的风控请求,都在watchman这个文件中,目前最新的版本是:2.7.5_af2952a4,这个版本号在后面的加密和请求中都有用到
  2. d请求返回成功后的第三个元素和第四个元素是后面b请求中d参数加密所需的,第四个元素是actoken这个加密参数所需的
  3. b请求d参数加密的元素中有一个参数是需要拿到actoken这个参数中去加密激活的,由这一步来说,b请求对于某盾来说就是必须的了
    1.d请求
    在这里插入图片描述
    调试入口:
    清空浏览器缓存,刷新页面
d请求和b请求的调试入口都是一样的

在这里插入图片描述

d请求d参数:f值可固定当然也可以扣取js(想证明一哈自己的实力的选手),只是其中有很多检测环境的点(包括navigation和document等等),c = Ya(),还有d值需要我们扣js

在这里插入图片描述
Ya()函数中Kb值固定,Oa值watchman的请求版本号 ,其他的对照扣js就行,没得啥难度
在这里插入图片描述
d值的扣取函数:将Ta整个对象扣取下来,定义成固定值
在这里插入图片描述
扣取完成后d请求d的值
在这里插入图片描述
d请求成功返回的值:
在这里插入图片描述
2.b请求
w和u这两个值有实力的选手也可以扣一下js,但是经过本小菜鸟调试的经验,这两个值可以写成固定值,不影响(至少我的是这样 >_>),就剩下e=Ya(),这个函数和上面d请求的Ya()是一样的,区别在于传入的参数不同
在这里插入图片描述
在这里插入图片描述
好了,d请求和b请求就讲完了

二、actoken

说明:以前的版本actoken是在check这个接口才验证的,当前的版本移到了get?referer这个接口来验证了,不过问题不大
调试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入到dc函数中:
从下面这个a值就可以看出b请求和d请求都是在actoken来校验的(可以去对照前面d和b请求返回的参数)
在这里插入图片描述
在这里插入图片描述
我之前的文章中也有讲到,这里就不做过多的阐述

三、fp参数

前面我有文章写了fp参数,其中检测了一些浏览器环境,用Proxy()拦截一哈,补齐环境即可(跳过跳过)

四、data参数

在这里插入图片描述
进入到 onMouseUp函数,可以看到data参数就是在此处加密组装完成的,其中涉及到轨迹加密滑块滑动的长度图片返回的token,check请求中width的值
在这里插入图片描述
移动轨迹:[x位移,y位移,时间差]
在这里插入图片描述

在这里插入图片描述
好了好了,data参数就这样吧,轨迹自己造一个就行,内容太多,手敲痛了

五、cb参数

请求图片和验证接口都用到了这个cb参数,注意的是这两个地方的cb参数不能重复使用,而且这个cb参数的逆向过程非常简单,在逆向data的过程中就能顺带的搞出来,所以我也不做过多的解释了,有需要的也可以去看我前面的文章,很详细

六、运行截图

在这里插入图片描述
成功率就是,现在还没失败过 >_>

在这里插入图片描述

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

某盾滑块js逆向 的相关文章

随机推荐

  • Linux下C++开发笔记--解决报错error: redefinition of “xxx“

    1 报错截图 2 错误原因 对应的头文件被多次包含 3 解决方法 在头文件最上面加上以下代码 以避免被多次包含 pragma once
  • 原码,反码,补码的使用

    机器码 1 首先得知道 什么是机器码 将符号 数字化 的二进制数就叫做机器码 其中有两点 1 将符号数字化 也就是将 用数字0表示 用数字1表示 最高位表示符号位 2 必须是二进制数 因为计算机中所有的数据都是以二进制形式存储的 2 了解了
  • HBase主要运行机制(物理存储和逻辑架构)

    本节将对 HBase 的主要运行机制进行简单介绍 HBase 的物理存储 HBase 表中的所有行都是按照行键的字典序排列的 因为一张表中包含的行的数量非常多 有时候会高达几亿行 所以需要分布存储到多台服务器上 因此 当一张表的行太多的时候
  • 【MySQL高级篇笔记-数据库备份与恢复(下) 】

    此笔记为尚硅谷MySQL高级篇部分内容 目录 一 物理备份与逻辑备份 二 mysqldump实现逻辑备份 1 备份一个数据库 2 备份全部数据库 3 备份部分数据库 4 备份部分表 5 备份单表的部分数据 6 排除某些表的备份 7 只备份结
  • 【VSCode】Windows系统的WSL无法启动vscode问题

    在WSL环境中无法启动vscode时 有可能是 WSL 插件的影响 可以使用下面的步骤来解决 Open VS Code on Windows Open Extensions and then search on WSL It should
  • Qt使用Qt Designer进行界面设计

    上一章我们使用代码直接进行界面设计 这一章我们使用Qt Designer进行界面设计 简单直接 所见即所得 大大提高了工作效率 特别是对于复杂界面 1熟悉Qt Designer Qt Designer是Qt专为界面设计做的软件 使得用户能够
  • 使用Python和OpenCV进行图像拼接和全景图构建

    使用Python和OpenCV进行图像拼接和全景图构建 1 效果图 2 原理及步骤 3 源码 3 1 拼接类源码 3 2 拼接用到的工具类 3 3 叠加多张图像源码 参考 这篇博客将介绍如何使用OpenCV执行图像拼接和全景构建 即给定两个
  • Hana Studio开发简介

    Hana Studio作为SAP官方的IDE 工具 推出也有一段时间了 就目前使用的情况来看 如果是做常规S 4开发 SAP GUI还是首要选择 一 IDE安装路径 链接 https pan baidu com s 1qMg8duocTa3
  • pyqt5实现按钮单窗口多页面切换

    1 使用QT Designer进行设计 创建一个MainWindow 从左侧选出Push Button Stacked Widget分别拖到我们的MainWindow里 怕看不见Stacked Widget 给他上个色 在QT Design
  • vant-weapp Area 省市区选择的使用及遇到的坑

    json中 导入 van area vant weapp area index 基础用法
  • SpringCloud gateway (史上最全)

    1 1 SpringCloud Gateway 简介 SpringCloud Gateway 是 Spring Cloud 的一个全新项目 该项目是基于 Spring 5 0 Spring Boot 2 0 和 Project Reacto
  • Kubernetes踩坑(二): Service IP(LVS)间断性TCP连接故障排查

    问题阶段 一 用户反应某个redis使用卡顿 连接该redis服务使用的是svc代理 即ipvs snat的方式 ipvsadm L发现 VIP收到的6379端口的数据包 会以rr的方式分别转发到pod的80 6379端口上 相当于会有50
  • mysql增加分区

    增加分区 是修改原有分区 从而替换现有分区 ALTERTABLE xxx表 PARTITION BY RANGE COLUMNS CREATE TIME PARTITION p20210901 VALUES LESS THAN 2021 1
  • 【华为OD机试c++】最长广播效应【2023 B卷

    题目描述 某通信网络中有N个网络结点 用1到N进行标识 网络中的结点互联互通 且结点之间的消息传递有时延 相连结点的时延均为一个时间单位 现给定网络结点的连接关系link i u v 其中u和v表示网络结点 当指定一个结点向其他结点进行广播
  • linux grep 带空格的内容,或者搜索多个单词,一段话

    错误示范 more xxx log grep UPDATE user info 正确方法 more xxx log grep UPDATE user info
  • 第23讲 Python range 数据类型

    您的 关注 和 点赞 是认可 是支持 是动力 如意见相佐 可留言 本人必将竭尽全力试图做到准确和全面 终其一生进行修改补充更新 本文首发在IT羊资源网 IT羊资源网 网址 https www ityangzy com IT羊资源网是IT世界
  • GB9706.1-2007+2020和IEC60601-1:2005 3.0+2012 3.1标准主要差异解析

    目录 GB9706 1 2007医用电气设备 第1部分 安全通用要求 GB9706 1 2020医用电气设备 第1部分 基本安全和基本性能的通用要求 IEC60601 1 第二版和第三版差异 1 最关键变化 2 新术语名词引用 3 设备分类
  • [1022]Hive insert 字段表错位

    文章目录 Hive insert 字段表错位踩坑 1 问题描述 2 排查过程 3 问题定位 4 解决方案 hive的insert语句列顺序问题以及新增字段遇到的坑 insert语句列顺序 对新增字段插入数据再查询发现是NULL Hive i
  • 技术管理主要做什么?

    最近一直在思考技术转管理过程中需要注意到的一些事情 现在就总结下分享给大家看看 核心职责 确定团队目标 不论项目大小 一定要有目标 有目标才能让所有人看到方向 明确每天工作的意义 单纯技术人员应该切换思维为全局性 而不局限于技术层面 现在个
  • 某盾滑块js逆向

    注 本篇博客仅供学习使用 请勿用做其他商业用途 如有侵权 请联系本菜鸟删除 本小菜鸟已经快两个月没更新文章了 一年总有那么356天不想努力 就想躺平 最开始学习js逆向的时候 用Python算法还原了某盾的空间推理 到现在已经过去半年多 这