目标网址:
aHR0cHM6Ly93d3cuenh4LmVkdS5jbi91Yz9zZHAtYXBwLWlkPWU1NjQ5OTI1LTQ0MWQtNGE1My1iNTI1LTUxYTJmMWM0ZTBhOCZyZWRpcmVjdF91cmk9aHR0cHMlM0ElMkYlMkZ3d3cuenh4LmVkdS5jbiUyRiZzZW5kX3Vja2V5PXRydWUmcmVfbG9naW49ZmFsc2UjL2xvZ2lu
抓包
可以看到登录的地方有三个地方看不懂,分别是login_name、password和session_id。
加密分析
其中用户名和密码加密看着像base64编码,测试一下发现果然没有这么简单。
既然不是的话,我们就要找到加密的地方,使用搜索大法搜索关键字。
轻而易举的就已经找到了加密的js文件。
哦吼,只有两个。那这就非常简单了,直接看看结果。
其中session_id是t中的一个对象,经过多次尝试发现可以写死,直接copy到本地即可。
继续分析发现login_name、password在对象m中,它们所对应的值分别对应的是p、h
打上断点开始调试。
在console中直接可以得到结果:
只要把相应的算法逻辑扣到本地进行复现,就大功告成了!
为了搞懂这是个什么玩意,这个函数拆解逐一放在console中打印,看下图↓↓↓
很明显是一个DES加密,n为用户的手机号,f是上面的t.session_key(每次会有变化)。
F11步入该函数:
在这里偷个懒,直接使用node.js的第三方库直接调用得到结果
使用前需要安装
npm install crypto-js
login_name的分析就到这里完成了,password的加密类似,只是多了一个N函数。同样的方法打断点进行分析。
N函数在另一个js文件中,跳进去发现是一个webpack打包的文件。对于webpack打包,只需要找到分发器再扣取对应逻辑就可以调用了。
链接: webpack详解
链接: 【JS逆向】之webpack逆向实战
本人的第一篇博文,如有不周之处,请多谅解。
最后完结撒花!!!