某保险影像上传接口浅记

文章讲述了作者在工作中遇到一个加密参数问题,通过接口分析、断点调试,发现加密函数涉及content_md5和base64编码。作者逆向工程找到了加密点,特别是使用MD5函数对arrayBuffer进行加密的过程,并提供了base64转arrayBuffer的转换函数,最终成功解密出一致的结果。
摘要由CSDN通过智能技术生成

好久没写文章了,目前的工作基本不涉及到逆向,都快忘了还有这项技能了,刚好,最近遇到一个加密参数问题,浅记一下

接口分析

选择图片后上传

图中请求为我们需要分析的接口以及加密参数信息,浅搜一下

打上断点重新请求后,此处发现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;
}

转换后执行,结果

一致,撒花

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值