某保险影像上传接口浅记
好久没写文章了,目前的工作基本不涉及到逆向,都快忘了还有这项技能了,刚好,最近遇到一个加密参数问题,浅记一下
接口分析
选择图片后上传
图中请求为我们需要分析的接口以及加密参数信息,浅搜一下
打上断点重新请求后,此处发现content_md5已经被计算出来了,换一种思路
找到content_md5第一次出现的位置进行分析,下xhr断点,重新执行
寻找加密点
打上断点,取消xhr,向上查看堆栈
找到这个断点,下上后,一直下一步找到加密点
由此看到主要加密函数为u.a.base64,加密值类型为arrayBuffer(base64转)
加密参数逆向
断点进入u.a.base64
也就是这个函数了,扣代码和其他方式都行,此处我偷懒了,往上翻发现了加密函数地址
进入对应的地址,copy下来地址,进行执行,也就是这里的md5函数
直接调用md5.base64("imgbase64")
比较
哦吼,不对。难道分析错了,淡定,网站上加密的是arraybuffer,此处需要进行转换一下。
function _base64ToArrayBuffer(base64) {
var binary_string = window.atob(base64);
var len = binary_string.length;
var bytes = new Uint8Array(len);
for (var i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
return bytes.buffer;
}
转换后执行,结果
一致,撒花