某商城-js注入拦截JSON.parse方法

原文链接: https://mp.weixin.qq.com/s?__biz=MzkyNzM2MjM0OQ==&mid=2247498053&idx=1&sn=39c80a5dae7fa17d81aa9149cf37d9a1

某商城-js注入拦截JSON.parse方法

原创 差不多张三 隐雾安全 2025-07-15 01:02

No.1

正文


点击分类

某商城-js注入拦截JSON.parse方法

请求响应加密

某商城-js注入拦截JSON.parse方法

控制台注入js调试代码,hook JSON.parse方法

(function() {

var parse = JSON.parse;

JSON.parse = function(params) {

console.log(“Hook JSON.parse ——> “, params);

debugger;

return parse(params);

}

})();

某商城-js注入拦截JSON.parse方法

再次点击分类,自动断点在了JSON.parse方法调用处

某商城-js注入拦截JSON.parse方法

点击多次继续执行脚本

某商城-js注入拦截JSON.parse方法

直到出现明文数据,对比页面显示结果发现是响应内容的明文

某商城-js注入拦截JSON.parse方法

跟踪调用堆栈,在返回值处下断点

某商城-js注入拦截JSON.parse方法

发现t.data是密文,g是密钥,l.a是解密函数

某商城-js注入拦截JSON.parse方法

进到l.a函数内部,在u.a.AES.decrypt(t, n, d).toString(u.a.enc.Utf8)下断点

某商城-js注入拦截JSON.parse方法

t是响应密文,n是密钥,d是iv,将第二步响应赋值给t,调用

u.a.AES.decrypt(t, n, d).toString(u.a.enc.Utf8)解密成功

某商城-js注入拦截JSON.parse方法

某商城-js注入拦截JSON.parse方法

请求内容分为两个部分,前面是COOKIE,后面是请求密文,以管道符间隔

某商城-js注入拦截JSON.parse方法

将请求密文赋值给t,解密成功

某商城-js注入拦截JSON.parse方法

发现u.a.AES对象还有一个加密方法

某商城-js注入拦截JSON.parse方法

定位到u.a.AES.encrypt(t, n, d).toString(),将第十二步请求明文赋值给t,对比数据包加密成功

某商城-js注入拦截JSON.parse方法

No.2

网安沟通交流群

某商城-js注入拦截JSON.parse方法

扫码加客服小姐姐拉群