声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!
目标网站:
aHR0cDovL3d3dy50bXNmLmNvbS9pbmRleC5qc3A=
先打开F12,输入链接,回车。目标参数如下:
搜索其中的参数,发现基本搜不到,猜测均被混淆。查看堆栈如下:
经过分析,generateData比较可疑,点开看下
在上图所示处下断点,清空cookie后刷新页面(因为这个请求返回了cookie,所以需清空cookie才能断上),可以看到参数位置确实在这里。单步运行到a[Sj](f),控制台看下
a为一个对象,这里调用了它的getpackStr方法,F11跟进看下
继续运行到这,调用了getMachineCode方法,即上面的红框部分,看下分别是什么
看着像是获取浏览器环境信息,跟进看看
经分析,第一个为获取cookie键为BSFIT_UUID的值,这里为空,返回undefined,因此三元运算为true,返回new w($f,Mj),w对象如下
其它的同理,这里就不一一分析了
跳出getMachineCode方法,继续运行
这里又是一堆浏览器指纹信息,而且已经生成了。这里先不管,篇幅原因,下一篇再分析。
最后将e排序并返回,图3中的 a[Sj](f) 即为e,继续往下运行
这一大段for循环,将t中符合一定逻辑的push到f中
最后将f传入下方的ha方法中,跟进看下
tf永远不等于bh和ch,所以switch总会进入到default中,这里即在构造参数,最终构造出如下:
最后再经过一定运算,通过SHA256散列后返回
加上时间戳
再加上刚才的散列,形成最终全部的参数
后面就是拿去请求了
前面的this[Y],下一篇再写,大家可以自己先试下~
同时欢迎关注我的公众号“逆向新手”,逆向系列将持续更新!