前言
该文章只分析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部分,那就是有手就行
|