得物APP接口加密分析
发布于 11 天前 作者 lvgithub 424 次浏览 来自 分享

原文 https://zhuanlan.zhihu.com/p/377282174 本文章的目的纯为技术研究所分享,带你了解目前前端JS加密的原理

一般做的好,有一定安全意识的网站都会对数据进行加密,得物APP也一样,对接口请求进行了加密处理。 但是这种加密也就只能防得住君子,防不住高手,比如我,毕竟这种前端加密算法需要暴露到浏览器运行,就给了爆破的机会。 我们看到下图,请求有一个 ​sign​ 参数,这个参数是动态生成的,这里已经就吓跑了很多想破解的程序员~~。其实还是很简单的。 image.png ​sign​ 参数就是突破口,我们全局搜索这个参数(如下图) image.png 一堆代码别头疼,这时候需要耐心的查找,很快我们就发现了蛛丝马迹(如下图),在 ​index.2c3016d3.js​这个文件中 image.png 很明显,这个地方就是给 ​sign​ 赋值的,双击进入到代码(如下图),没错,大概率是这的, ​params​ 是请求参数,对参数进行加密签名生成 ​sign​ 。 image.png 我们在这里打一个断点,然后开始调试,找到了如下函数,这里就是加密算法的核心入口啦!,尤其注意 ​19e7​ 这个函数。 image.png 最后到这里,我们就找到了加密算法,剩下的就简单了,只要执行即可。 image.png 最后我们把代码还原回来,运行一下,和接口中的sign一致,就这样我们完成了加密算法的识别了。 image.png image.png 还原的加密算法源码,我就不在这里公开啦,大家可以关注我~ https://zhuanlan.zhihu.com/p/377282174

3 回复

很棒的!!

那个加密算法,应该是md5的js实现

回到顶部