前言
该文章只分析js参数部分,不包括风控破解。。
咱就是说Akamai
这个东西,圈子里基本人人知道,其价值也是非常诱人,但是难度上来说基本天花板级别,风控那套实在恶心人,最近也是在看Akamai
的东西,只论js强度来说,1.75的Akamai
实在是令人失望,难度在于猿人学困难与中等难度之间,
本次受害者(懂得都懂):
aHR0cHM6Ly93d3cuZGhsLmNvbS8=
一、抓包分析
由于知名性,这里就不分析那个参数是需要的了,直接找_abck
,然后最终目标就是获取物流信息
通过查看请求,发现_abck
通过set-cookie
得到,直接发现这么一段js,并且这个接口get请求时为加密js,post请求时为获取abck
那就直接开始逆向吧,第一种思路:通过补环境得到cookie,第二种思路:直接扣算法,我这里选择口算法。
老规矩,首先ast来一遍解混淆,但是发现混淆的很轻,除了一个ob数组解密之外就没有啥混淆了,初步解混淆结果如下(👉
)
捋一下逻辑,cookie嘛,肯定跟document有关系,可以先直接hook一下cookie
的设置,再就是全局看看cookie字眼都在什么地方,什么作用。
先看js结构,定义了一个bmak
对象,其中申明了大量的属性和方法,方法包括运算,检测环境等等,接下来的if语句内就是整个流程,最终通过bmak
中的bpd
方法来生成sensor_data
(这里看不到bpd
,因为我把大量的代码缩在一行了,方便截图,看下面的滑动条就知道多长了)
直接把bpd
弄下来,然后缺啥补啥,遇到难搞的我就偷了一下懒,直接对着浏览器抄结果,最终得出sersor_data
,其中包括了很多环境,需要注意一点的就是运算是需要上一次的abck
来得到最终结果的
二、流程实现
首先访问首页得到初始的abck
,然后xpath搞到那个js的具体地址,因为这个地址好像是每天都变,然后通过post提交参数,得到这个js接口的返回cookie,再使用这个cookie来访问最后的接口,就像这样:
总结
数据是拿到了,但是还是不稳定,就是说每隔一段时间就挂一段时间,间歇性成功,不管你有没有起并发,ja3部分的话暂时没上,毕竟起并发也是要很多指纹的,也不只有ja3
一个需要,所以总结一句话,只论js部分,那就是有手就行,其他版本可联系v(q17346978542),比如2.0版本