网址:aHR0cHM6Ly9tLndhbmRhY2luZW1hcy5jb20vbG9naW4=
发送验证码后,发现协议头的中的check加密了,在发送方法下断点,往下跟踪
image.png (21.75 KB, 下载次数: 0)
下载附件
1
2023-4-13 20:23 上传
找到了加密的方法gowasm.sp,将时间戳,url头等信息传进去加密。
image.png (54.93 KB, 下载次数: 0)
下载附件
2
2023-4-13 20:24 上传
跟进去发现调用了wasm的resume方法,本人新手,面对wasm毫无思路,在多方搜索后无果后最后注册吾爱发现不少wasm的逆向文章,
最后参考的:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1492577 成功逆向。
找到wasm的加载的地方,打断点,刷新下网页让他重新加载wasm,注入脚本:
8.png (61.34 KB, 下载次数: 0)
下载附件
2023-4-13 20:40 上传
[JavaScript] 纯文本查看 复制代码wasm = i.instance.exports;
memories = [wasm.memory]
viewDWORD = (addr) =>{
const arr = new Uint32Array(memories[0].buffer.slice(addr, addr + 16));
return arr;
};
viewChar = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return String.fromCharCode.apply(null, arr);
};
viewHEX = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return (Array.from(arr, x =>x.toString(16).padStart(2, '0')).join(' '));
};
viewHexCode = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return (Array.from(arr, x =>'0x' + x.toString(16).padStart(2, '0')).join(', '));
};
dumpMemory = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return arr;
};
viewString = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
let max = size;
for (let i = 0; i x.charCodeAt());
const match = (j) =>{
return k.every((b, i) =>m[i + j] === b);
};
const max = Math.min(10_000_000, m.byteLength || m.length);
for (let i = 0; i
注入之后就可以通过view方法来查看wasm申请的内存,非常方便。
接上面,在wasm的入口继续往下追踪,发现实际是通过md5加密,在加密方法的入口处下断点,通过viewChar来观察入参。
7.png (107.86 KB, 下载次数: 0)
下载附件
2023-4-13 20:39 上传
发现有数据,增加长度后就发现了加密前的字符串,经过验证确认gowasm.sp传入的参数经过加盐操作后md5就得到了check。
4.png (18.55 KB, 下载次数: 0)
下载附件
2023-4-13 20:35 上传
同样的,在另一个地方的加密调用的gowasm.sa方法 跟进去后发现使用的AES加密,
这个算法不懂,因为这个wasm是go语言的转的,百度go的ASE算法实现
5.png (60.55 KB, 下载次数: 0)
下载附件
2023-4-13 20:35 上传
在wasm找到对应的方法,下断点,成功获取到key。然后mode 和 padding都试一遍就试出来了。
6.png (188.64 KB, 下载次数: 0)
下载附件
2023-4-13 20:35 上传