之前出过以其 RPC逆向接口的同花顺,今天无意看到就想用js逆向来看看能不能实现。
有兴趣的可以看看我之前的文章:
基于RPC技术的js逆向-python,案例:同花顺网_jsrpc macos逆向-CSDN博客
话不多说我们直接开始
1.找到数据接口并分析加密参数
我们随便检索一个数字即可
找到接口都再分析可能的加密参数
发现就cookie中的v是加密的
2.找到cookie的加密位置
这里我介绍两个方法:
1.hook cookie中的参数名 v
2.xhr断点跟栈慢慢找
在这就介绍下hook方法的使用 如图所示
hook到之后的效果如下
接下来就是去找cookie中v的生成的具体位置
接下来就是继续往里跟几个函数就行,最后的位置如图
这中形式的加密方法给人的第一印象就是webpack打包,但是这里的未知参数多得要命,感觉不好搞。我们再看看,滑到最上面看看这个js文件的格式,结果发现它就是一个自执行方法。如图
那就好办了,直接全扣下来就行。
3.补环境
将代码放到nodejs环境中,先导出我们要的方法。
然后调用
这时候我们就需要我们的自动吐环境的代码了,放入后运行
注意:
我们所补的环境需要与前端js代码中的运行保持一致,所以我们在遇到报错时最好都定位到前端代码中打断点看看具体的情况,根据这个再来判断我们该怎样补环境。该网站的注意事项有两三个,这里我就讲一个,其他的大差不差。
举一个栗子:
然后我们到前端看看 如图所示
可以发现这里q的值为true 所以代码运行的应该时前面一个代码 n.addEventListener(t, r)
所以为了让我们的代码与前端执行一致,我们就需要调整。
这里最简单的方法就是把前后的多余代码删了,如图所示
最后的代码效果为 如图所示
4.python代码运行
很简单,效果如下
代码用途
本代码仅供学习、研究和交流使用,禁止用于任何商业用途或非法用途。使用者应对其行为负责,作者不对代码的滥用或不当使用承担任何责任。