js逆向-某省特种设备aes加密研究

声明

文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负!

如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦!

网站链接

python 复制代码
aHR0cHM6Ly9obnNlaS5jbi9obnRqL21lbnUvMy8xNA==

参数分析

随便点进一个xhr链接,能发现请求参数与响应内容都做了加密

加密分析

常规思路是xhr断点,逐步向上跟栈,但是这个网站使用了异步请求+拦截器。使得定位比较困难,比较简单的方法是Hook或是搜索关键词interceptors都可以轻松定位到。

分别对应请求拦截器与响应拦截器,通过图中的代码也可以看到,请求时调用了Object(U["b"])(e.data))去加密请求体,响应时则调用了JSON.parse(Object(U["a"])(e.data))函数进行解密并且反序列化。

Axios拦截器 -- 请求拦截器和响应拦截器-CSDN博客

看了上面的代码就知道为什么可以Hook了,同时附上Hook代码。

javascript 复制代码
(function () {
  let parseCache = JSON.parse;
  JSON.parse = function (params) {
    console.log("Hook JSON.parse => ", params);
    debugger;
    return parseCache(params);
  };
})();
(function () {
  let stringifyCache = JSON.stringify;
  JSON.stringify = function (params) {
    console.log("Hook JSON.stringify => ", params);
      debugger;
    return stringifyCache(params);
  };
})();

比较推荐使用使用油猴脚本去执行,比较方便。

这次再向上跟栈就方便很多了,可以轻松的定位到拦截器的位置。

再跟进去查看一下。

看着像是常规的AES CBC加密,各种语言都有常用的库可以直接使用。

最后

值得学习的点在于Hook的使用以及拦截器的作用,友好型网站无疑了。

相关推荐
MasonYyp1 小时前
声音转文字的模型
python
信誓旦旦的程序猿9 小时前
【Python量化实战宝典 #08】可转债与债券接口手册:转股价·溢价率·纯债价值(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
砚底藏山河9 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年9 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym9 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
CS创新实验室9 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
CCblandy9 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
持敬chijing9 小时前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
quantdash_cc9 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
把我格子衫拿来10 小时前
VTK 9.5 与 Qt 6 联合开发:从嵌入三维窗口到可维护的桌面架构
c++·python·qt·vtk·三维可视化