闲逛github看到issues别人发的一个网站,网址:aHR0cCUzQS8veXMuZmdqLnRhaXl1YW4uZ292LmNuL0ZpcnN0aGFuZC90eWZjL3B1Ymxpc2gvcC9Qcm9qZWN0TGlzdC5kbw==
随便勾选菜单查询,上抓包 如下图requestbody
分析一下requestbody的生成过程,老规矩F12
匿名函数的无限debugger,直接删掉debugger代码即可,有2个debugger暗桩。分析下把2个都干掉,然后替换JS文件即可
查询下断到这儿 看到了熟悉的CryptoJS.AES.encrypt,以为本次分析就此结束了。但是简单枯燥的生活,还是来扣一下整个JS吧
扣JS把CryptoJS整个类扣取出来即可 直接搜AES的定义可以快速定位,AES的16进制字符为’\x41\x45\x53’
扣取的过程中会发现一个内存溢出RangeError: Maximum call stack size exceeded
提取出来,分析一下这段代码
var _0x3b5fab = function () {
var _0x142e66 = !![];
return function (_0xb9d633, _0x7fe927) {
var _0x2bc370 = _0x142e66 ? function () {
if (_0x7fe927) {
var _0x42c9f5 = _0x7fe927['apply'](_0xb9d633, arguments);
_0x7fe927 = null;
return _0x42c9f5;
}
}
: function () {
}
;
_0x142e66 = ![];
return _0x2bc370;
}
;
}();
var _0x2da5d7 = _0x3b5fab(this, function