某小程序sign关键字逆向分析

news/2024/12/24 1:06:30/文章来源:https://www.cnblogs.com/lcgmilk/p/18625361

声明

本文章所有内容仅用于学习交流,严禁用于其他目的。文中不提供完整代码,抓包内容、敏感网址及数据接口等均已脱敏处理。严禁将相关内容用于商业用途和非法用途,否则由此产生的一切后果与作者无关。未经许可,禁止转载本文,禁止修改后二次传播。擅自使用本文讲解的技术导致的任何意外,作者概不负责。文章为原创,严禁转载。


关于sign关键字总结

对于 sign 关键字,其生成方式一般是将接口信息、查询参数、时间戳(时间戳可能省略)以及自定义字符串(可能省略)进行拼接,然后通过 md5Hmac 加密。之所以拼接自定义字符串,是为了防止仅依据经验直接用接口参数猜测加密规则。

补充

  • 拼接过程中可能涉及对参数进行排序、去重或者 URL 编码,确保生成的字符串在加密时具有唯一性。
  • 有时还会加入一些额外的防篡改机制,例如使用 nonce(一次性随机数)或 salt(盐值)增强加密的安全性。

关于逆向技巧总结

  1. 善用搜索:对关键字进行全局搜索,如 .signsign="sign" 等,通过不同形式缩小目标范围。不确定时,可全部打上断点,后续调试时取消无用断点。

  2. 栈跟踪:这是关键步骤。找到请求发送构造位置,通常请求头关键字、参数加密以及返回结果解密都在此处进行。

  3. 处理莫名参数:若请求构造时未携带某些参数,却突然出现,可能是网站开发者对请求头进行封装以减少请求时代码冗余。此时可搜索关键字 intercepter,或许能有收获。

补充

  • 检查 API 文档:如果有相关的 API 文档,有时可以帮助快速了解请求参数的构成,减少逆向工作量。
  • 逆向工具:使用如 Fiddler、Wireshark 等抓包工具,能够捕捉 HTTP 请求及响应,帮助更好地理解 sign 的构造方式,特别是加密前的数据内容。

实战演练

  1. 全局搜索关键字:在代码中全局搜索关键字 x-serverless-sign,找出所有可能位置并打上断点,方便后续调试。

  2. 定位生成函数:找到 x-serverless-sign 的生成函数,进入函数内部并打上断点继续调试。发现其由字符串加上一个时间戳组成,但不清楚具体处理方法,继续深入函数内部。

  3. 确定加密方式:看到 md5 关键字,基本可确定加密方式。

  4. 对比结果:与在线 MD5 结果进行对比。


补充说明

  • 在分析 sign 签名的生成时,除了常见的 md5HMAC 加密方式外,也有一些接口可能会使用更复杂的加密方法,如 RSA 或 AES 加密,尤其是在涉及更高安全性的场景中。因此,逆向分析时需要注意加密方式的多样性。
  • 下期内容 爬虫框架设计考虑的问题,或者ob混淆。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/857747.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乌鸡国

1-队伍进入副本以后,走到下图分岔点离队,每人负责一条线路,寻找树妖。2-寻找仙人,可以按照1的策略继续反方向走回去找仙人。3-寻找完仙人以后,会要求帮助国王清理荆棘木,五个号散开清理完即可。 4-进入皇宫,击杀拘灵妖怪、缚仙妖怪、囚神妖怪,需要在12回合内击杀三个妖…

梦幻神器-起-泪痕碗之念-2星

1-该任务需要5个随机指定三级药、7个2级家具,其中2级家具可以提前准备,三级药为NPC随机指定,无法提前准备。 2-前面跟着流程跑,第一场战斗是"清风",需要先击杀小怪,主怪清风在第四回合以后会说"我们放水吧",说了以后才可以击杀主怪清风。3-击杀清风…

STM32F103 SPI配置(SSD1306)

有关SPI通信协议我们在《通信协议-SPI》已经进行了详细的介绍,因此这一节不再重复介绍。 一、软件/硬件SPI 想要控制STM32产生SPI方式的通讯,可以采用软件模拟或硬件SPI这两种方式。 1.1 软件模拟 所谓软件模拟,即直接使用CPU内核按照SPI协议的要求控制GPIO输出高低电平。 1…

梦幻神器-起-莫愁铃之恩-1星

1-该任务需要提前准备5个三级药,金创药、佛光舍利子除外。 2-第一场战斗是击败地府守卫弟子,1星难度不大,注意"诡蝠之刑"的反伤即可,中了"诡蝠之刑"的单位可以适当防御。3-击杀地府守卫弟子以后跟着流程走,接下来需要给三个水晶注入灵气,需要先注入中…

我家一次用电超负荷时20A保险丝断了,但16A的空气开关却没有跳闸.

回答一: 转载自:https://zhidao.baidu.com/question/1970736314255432140.html这说明两者的保护时限不同。无论是保险丝还是空气开关,并不电流达到就立即跳,而且有一定的时间延时来积累热量,热量到了才会动作。 16A的空气开关没跳说明电流虽然超过20A,但时间很快,保险丝…

Easysearch Java SDK 2.0.x 使用指南(二)

在 上一篇文章 中,我们介绍了 Easysearch Java SDK 2.0.x 的基本使用和批量操作。本文将深入探讨索引管理相关的功能,包括索引的创建、删除、开关、刷新、滚动等操作,以及新版 SDK 提供的同步和异步两种调用方式。 SDK 的对象构建有两种方式 1. 传统的 Builder 方式 最基础的…

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结@目录二、高级篇(大厂进阶)2.DockerFile解析2.1 是什么2.2 DockerFile构建过程解析2.3 DockerFile常用保留字指令2.4案例2.4.1自定义镜像mycento…

按钮修改状态

首先创造函数void updateBaoxiaoSchedule( int id, String schedule, String schedulereason); 及其实现。 SQL语句: @Update("update submit set state=#{state},statereason=#{statereason} where id=#{id} ") void updateSubmit1( @Param("id") int id…

泰山派设备控制(RGB)

泰山派设备系统控制(RGB) 1、进入设备系统 cd /sys/class2、进入RGB灯子系统 cd /sys/class/leds/罗列可操作的设备,可以看到三个设备,“rgb-led-b”,“rgb-led-g”,“rgb-led-r”,分别对应RGB的蓝,绿,红。3、我们对其单一色灯进行操作 cd rgb-led-b4、ls罗列出可操作的…

《计算机组成及汇编语言原理》阅读笔记:p48-p81

《计算机组成及汇编语言原理》学习第 4 天,p48-p81 总结,总计 34 页。 一、技术总结 1.CISC vs RISC p49, complex instruction set computing For example, a complex instruction set computing (CISC) chip may be able to move a large block of data, perhaps a strin…

在VS2022中,“根据模型生成数据库”时报错:已添加了具有相同键的项(或:An item with the same key has already been added)

解决方法:关闭解决方案,打开解决方案所在文件夹,打开以下文件夹:.vs\ConsoleApp7\FileContentIndex,然后删除里面的所有文件,再重新在VS中打开解决方案重新生成即可

超级AI图像放大工具Upscayl:让你的照片细节更清晰,色彩更鲜艳!

前言 Hello大家好,我又来推荐非常好用的AI图片无损放大器,模糊图片秒变高清,Upscayl是一个免费开源的AI图像超分辨率工具。它使用AI模型来通过猜测细节的方式增强图像并提高其分辨率。该工具适用于Linux、macOS和Windows操作系统 安装环境 [名称]:Upscayl [大小]:400.99MB …