目标网站:
aHR0cHM6Ly9wYXNzcG9ydC41OC5jb20vbG9naW4vP3BhdGg9aHR0cHMlM0EvL2Z6LjU4LmNvbS8mUEdUSUQ9MGQxMDAwMDAtMDAxMy0wMjk0LTFjZWItYjU3NTBiZDIwNmU5JkNsaWNrSUQ9Mg==
老规矩先抓包看看【图1-1】
今天主要分析的是划线的三个参数,先一个一个来研究一下。
先看看密码的加密,按照之前的思路我们测试了password的相关搜索项,但是搜索出来的结果都不尽如人意。【图1-2】
同时这个请求也不是XHR请求,所以xhr断点也用不上了。
搜索的结果中比较有相关性的是【图1-2】标注的部分,但是在文件的搜索项里搜索password是找不到加密位置的。
我简单总结了几种办法,虽然并不一定适用于其他网站的加密,算是提供一种新的思路。
第一、搜索相关的的提示语,就像在之前的我做的第一个 APP 逆向的项目中,我就是搜索相关的提示语找到了扣费逻辑的代码,这里也可以按照这样的思路。
在这个网站的加密里点击登陆,点击后按钮变为登录中...,搜索相关提示语再逐步打断点一直追下去是可以找到加密位置的,不过这是个下下策,耗时太长,很容易追丢了,为了这个不值当。(不推荐使用)
第二、参考开头的搜索关键字的方法,这里搜索的是encrypt,经常遇到加密的变量或方法是encrypt(XX)这样的形式。
第三、试试从网页中找找答案,之前做过一些简单的例子是将 js 的代码直接写到页面中自执行或者采用隐藏域传递值的方式,比如:像PublicKey这类比较有特色的值,如果能找到对我们的帮助是很大的。
按照上面总结的几种方法,我们再次搜索【图1-3】
又搜索到这个熟悉的文件,这次我们进去搜索一次,这次找到了好多类似加密的地方,为了省事我把所有相关的值都打上了断点,再次登录。【图1-4】
到这里就定位到加密的地方了。
继续追进去可以看到进入的是一个VM【图1-5】
到这里就没有什么难度了,密码的加密就是RSA+eval。
如果你很幸运先找到了eval加密的地方,但是不知道怎么解决,可以参考之前一篇关于js混淆的文章。
或者直接打开浏览器的开发者工具切换到console选项卡,把相关的eval代码粘贴进去,将代码开头的eval替换为console.log,就可以得到原来的代码了。【图1-6】
接下来看的是两个指纹相关的参数,这里就比较简单了,直接搜索fingerprint就可以找到相关加密文件,直接在里面打断点就可以了。【图1-7】
这里的注意点是想要重新生成指纹,记得要刷新页面才可以。
可以看看冷月大佬之前的关于某个网站指纹加密分析的视频教程。
链接 : https://pan.baidu.com/s/1Y8pcacZbHF1DXW0znzmZKQ 密码:vkmf