前言
研究akamai已经大半年了。市面上akamai分为两个版本:1.75和2.0,1.75就不用说了,逆向起来很简单并且代码不会再更新了。重点是2.0,不仅每周都会更新,而且最近加强了风控和混淆方案。
akamai js部分
首先打开目标网站,进入生成指纹的js,打开一看:
这里我用捷星机票预订 - 航班选择 (jetstar.com)这个网站进行分析
可以看出新版的混淆方式还是有点东西的,不仅增加了花指令,而且某些函数只能在特定条件下进行还原 ,当然也是可以通AST技术还原的,还原jie之后长这样:
接下来就可以替换上去,方便我们调用。
akamai sensor_data
通过逆向js,来生成sensor_data。
这是分析之后sensor_data逆向的方法。
这个就是 sensor_data的算法就还原了,到这里我们就成功的破解了akamai的接口了。
接下来我们就要对Akamai的风控进行分析了。
关于akamai的风控,毕竟js逆向难度也只能算个中上,难点全在风控,风控没有解决就不能并发。
1、首先要过tls检测,有人可能会问没过tls也能过盾,但是并发的时候肯定会拉胯。
2、浏览器环境要用真实的,不能简单随机,比如canvas、ua、webgl这些指纹数据。
3、行为数据必须要带上,如果是pc端需要模拟鼠标轨迹以及键盘事件,移动端需要螺旋仪、触摸事件等等。
4、不同网站的风控级别是不同的,可以过某些站不代表可以过所有站。
5、风控是在长久对抗中才能摸清门路的,这个主要靠经验。
6, 每个网站的风控技术也是不同的,在这里这分控是过了的,可以实现大量的并发了
最后
经过测试,捷星 jetstar.com,德州仪器 ti.com,w6 wizzair.com,还有一些航空公司的都是可以实现一个并发的