声明
本文仅供学习参考,请勿用于其他途径,违者后果自负!
前言
目标网站:aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvQk8vWWVhci9pbmRleC5odG1s
接口:aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9BUEkvR2V0RGF0YS5hc2h4
目标:数据解密
参数分析
打下xhr断点,寻找堆栈,分析疑似加密的地方。
逆向流程的老套路了。在这里加密点非常好找,没有什么难度。
前端发送ajax请求,成功后返回解密数据,失败后做别的操作。这里我们看成功的地方就可以,success后的回调函数使用了很多的三目运算符,解密肯定是在这里完成然后由前端页面完成渲染,最终展现给我们。
将这一段代码拿到本地看一下在哪里进行的解密操作。
简单分析一下代码,最后的结果是
JSON.parse(webInstace.shell(e))
这里做了解密操作.
可以看到在这里已经完成了解密操作,接下来将webInstace.shell(e)拿下来就可以了。
跳进该函数,观察一下。
其实就是一个DES
加解密算法,知道IV和key,使用python就可以还原。但是看了一下只有二千多行,直接copy到本地调试也没啥问题。
没有navigator对象,navigator是浏览器中的对象,没有就伪造一个
navigator = {}
补完环境之后发现运行不出结果。
将相同的代码放进浏览器中却可以出结果。
毫无疑问是环境伪造的不够成功,直接copy浏览器中的navigator到本地,重新运行代码。
成功得到结果,完结撒花!