JS逆向 | 某售房网高度混淆及浏览器指纹分析(一)

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

目标网站:
aHR0cDovL3d3dy50bXNmLmNvbS9pbmRleC5qc3A=

 先打开F12,输入链接,回车。目标参数如下:


图1

 搜索其中的参数,发现基本搜不到,猜测均被混淆。查看堆栈如下:


图2

 经过分析,generateData比较可疑,点开看下
图3

 在上图所示处下断点,清空cookie后刷新页面(因为这个请求返回了cookie,所以需清空cookie才能断上),可以看到参数位置确实在这里。单步运行到a[Sj](f),控制台看下


图4

 a为一个对象,这里调用了它的getpackStr方法,F11跟进看下


图5

 继续运行到这,调用了getMachineCode方法,即上面的红框部分,看下分别是什么


图6

 看着像是获取浏览器环境信息,跟进看看


图7

 经分析,第一个为获取cookie键为BSFIT_UUID的值,这里为空,返回undefined,因此三元运算为true,返回new w($f,Mj),w对象如下


图8

 其它的同理,这里就不一一分析了
图9

 跳出getMachineCode方法,继续运行


图10

 这里又是一堆浏览器指纹信息,而且已经生成了。这里先不管,篇幅原因,下一篇再分析。
图11

 最后将e排序并返回,图3中的 a[Sj](f) 即为e,继续往下运行
图12

 这一大段for循环,将t中符合一定逻辑的push到f中
图13

 最后将f传入下方的ha方法中,跟进看下
图14

 tf永远不等于bh和ch,所以switch总会进入到default中,这里即在构造参数,最终构造出如下:


图15

 最后再经过一定运算,通过SHA256散列后返回
图16

 加上时间戳
图17

 再加上刚才的散列,形成最终全部的参数
图18

 后面就是拿去请求了
图19

 前面的this[Y],下一篇再写,大家可以自己先试下~

 同时欢迎关注我的公众号“逆向新手”,逆向系列将持续更新!


公众号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容