声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!
目标网站:
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],下一篇再写,大家可以自己先试下~
同时欢迎关注我的公众号“逆向新手”,逆向系列将持续更新!

公众号