盼之代售decode__1174,ssxmod_itna和sign算法分析
url aHR0cHM6Ly93d3cucHpkcy5jb20vZ29vZHNMaXN0LzcvNg仅供学习使用如有侵权联系删除文章来到这个网站打开控制台进行抓包找到需要的数据包这里观察发现请求头中有3个参数需要解决然后请求载荷里面有一个decode__1174以及cookie里面的ssxmod_itna和ssxmod_itna2这里先看这个decode__1174参数这个参数和那个雪球网的那个md5__1038是一样的生成逻辑可以参考一下我之前的那个文章点击此处前往区别就是传入的参数不同。然后是请求头里面的3个参数这个直接全局搜索就可以定位到了往上面看一下d(c.params)进入这个d方法最后会来到这里这三个值的生成逻辑就在这个控制流里面一个时间戳一个随机值sign就是拼接请求参数后MD5这个直接扣代码就可以了接下来看一下这个cookie里面的ssxmod_itna这里直接hook(function () { use strict; var cookieTemp ; Object.defineProperty(document, cookie, { set: function (val) { debuging; console.log(Hook捕获到cookie设置-, val); cookieTemp val; return val; }, get: function () { return cookieTemp; }, }); })();这里断住后往前面跟一下这个ssxmod_itna和ssxmod_itna2的生成逻辑就在这里需要注意的是这里我对这个文件做了反混淆这个在前面的文章中也有说明。找到位置后剩下的就是扣代码了这个也没什么好说的如果是补环境的话这个代码不能格式化然后下面是需要的环境信息// 3个环境数组 let ic [ data01, // var j4 websdk- iG; iG 2.3.16d websdk-2.3.16d, // 时间戳 ia, // 开始push 一个0 后面 3, // window里面的一些方法原型运算 1|15, // navigator.language zh-CN, new Date()[getTimezoneOffset](), // window里面的方法 16705151|12791, // screen 属性 1536|960|1536|246|0|0|1538|962|1536|912|0|0, // window[hasOwnProperty] window[hasOwnProperty](history) ? window[history][length] : -1 2, // navigator.platform Win32, // navigator.hardwareConcurrency 16, // canvas指纹里面的设备信息 ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x0000A7A0) Direct3D11 vs_5_0 ps_5_0, D3D11)|Google Inc. (Intel), // screen 属性 screen[colorDepth] | screen[pixelDepth]; 24|24, // navigator.oscpu || 0 0, // window[hasOwnProperty](ApplePayError) 1, Ps | window[hasOwnProperty](Bluetooth) 2, Ps | window[hasOwnProperty](BluetoothDevice) 3, Ps | window[hasOwnProperty](BluetoothUUID) 4 28, // navigator.plugins,navigator.mimeTypes 运算 5|1318940364, // canvas 画图后 toDataURL 编码运算得到 具体调用的是iH方法 2754309816, // navigator.userAgent 编码运算得到 具体调用的是iH方法 2981263722, // document.hidden || document.mozHidden ? 0 : 1 1, // ic[push](0) 直接push一个0 0, // window[screen][availWidth] - window[outerWidth] 10 | 0; 1, // iB(true) 调用iB方法传入true获取 0 ] let iI [ 416, Google Inc., 8, -1|0|0|0|0, 3726056879 ] let iw [ 599647252, 0, 29 ]需要注意的是cookie中除了这两个值还需要一些值这些值都可以通过hook找到生成的位置然后这个acw_tc是前面请求一个html页面返回的最后看一下纯python实现的效果吧