本文主要是介绍akamai相关资料整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Akamai阿卡迈:常用于国外网站,2019年初期版本验证cookies中的_abck,后期增加ak_bmsc等其他指纹设备。
市面上akamai分为两个版本:1.75和2.0,1.75就不用说了,逆向起来很简单并且代码不会再更新了。重点是2.0,不仅每周都会更新,而且最近加强了风控和混淆方案。
1.75相对而言较为友好,目前利润PerimeterX等风控的加固水平也停留在1.75的难度,只增加了一些简单的混淆方式,代码大部分是可读的。
2.x Akamai版本在混淆加固上下了血本,几乎每天都会对源代码进行重新混淆,并且对函数进行内联。很多技术是通过对1.75的了解加上对2.x版本的断点调试研究出的生成方式。
————————————————
版权声明:本文为CSDN博主「TiggerRun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shipsail/article/details/125055948
研究akamai已经有些时日了,市面上akamai分为两个版本:1.75和2.0,其实也不叫2.0吧,因为新版的没有像旧版的一样指定版本号,为了区分方便暂且叫它2.0。
1.75版本就不用说了,逆向起来很简单并且代码不会再更新,国外的航司用的比较多。重点是2.0,不仅每周都会更新,而且最近加强了风控和混淆方案。
————————————————
版权声明:本文为CSDN博主「悦来客栈的老板」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq523176585/article/details/126277343
正常的浏览器访问会调至少两次akamai的那个js文件,第一返回的cookie没有用,第二次带上行为数据的请求的才有用。第一次返回的amakai js文件是自执行的,目前可以反混淆处理出来。猜想后续的sensor_data就是这里面生成的,会涉及到很多行为数据。
通过逆向js,可以复写逻辑或者扣代码的方式,来生成sensor_data。
之后拿着生成的sensor_data去破盾,可以看到出现了破盾标志,这表明破盾成功了。(生成cookie的_abck字段)
-------------------------------------------------------
思路:
1. 首先访问 https://www.flyasiana.com/5qSZcnDz_/hGWtnW/AkEc/auTFfPPk/9rYphrpkup/dDswFj8m/FVRIJ3V/tGkQ?n$eum=157910959357612400 ,取出 set_cookie (ak_bmsc, bm_sz, _abck)
2. 再通过 _abck 动态生成 sensor_data
3. 再次访问 https://www.flyasiana.com/5qSZcnDz_/hGWtnW/AkEc/auTFfPPk/9rYphrpkup/dDswFj8m/FVRIJ3V/tGkQ?n$eum=157910959357612400 , 携带 三个cookie 以及 sensor_data ,注意:sensor_data 是一个 request playload, 因此需要 json.dumps() 。取出 set_cookie (_abck)
4. 携带 _abck 进行访问 https://www.flyasiana.com/I/CN/CH/SearchRevenueDomesticFareDrivenAvailFlights.do?n$eum=157910959357612400 。取到返回值
5. 如果第四步 返回状态码为 403, 则将参与以上步骤进行置换_abck值
---------------------------------------------------------
这个路径,第一次是get,拿到这个js,后续会post数据到这个地址。这个post的触发时机及次数不同版本有点不同,IHG和TI是初始加载的时候都会发送post sensor_data,TI的次数更多(我测试3,4次都遇到过),然后就是点击的时候会触发,TI是每次点击都会触发post,IHG不会,IGH是拿到验证过的_abck后,就不会再触发请求了,这个js里面有判断逻辑,第一个-1如果换成0了:DAA11479B85BD170A757258B40E228AD~0~
这个sensor_data post要模拟完全,不然可能出现协议成功率问题,持续添加可以后,那就是多账户问题了,这个可以通过差异化不同账号的请求环境来处理,比如模拟不同的浏览器参数。
对于这个调试,一个就是通过代理替换,定向到本地文件或自己的本地服务器,还一个就是可以自己保存网页,架设一个自己的服务器,这样可以随时改代码来调试了。
本地调试的时候的,这个js路径要保持一致,有代码会检测这个路径格式:
TI的这个js逻辑要比IHG的复杂:
1、post的sensor_data数据的,IT有加密,IHG没有。
2、IHG只用到了cookie中的_abck,TI多了个bm_sz。
对于本地调试,修改过的代码要跳过校验,js里面有逻辑会检查函数是否修改过,下面这里是校验几个函数的hash,对修改过的函数,校验不过就会走错误分支:
------
新版js逻辑混淆严重,可以分析老版本js,检测的浏览器特征基本是一样的,只是最后post前对sensor_data进行了乱序和加密。
----------------------------------------------------------------------------------------
众所周知 耐克nick 阿迪adidas 德州仪器(TI ti.com) 得捷电子(digikey )贸泽电子(mouser)等较大的芯片 购物之类的网站都引入了akamai的js防机器人识别系统,现在最新的akamai版本是1.7,如果想实现http抢购,那么破解akamai的js 实现sensor_data 然后换取相关有用的_abck是必须的,然后模拟tsl(模拟浏览器怎么发送请求的 不是简单的python go php等)使用个requests就可以的,然后发送相关的数据,那么问题就解决了
————————————————
版权声明:本文为CSDN博主「快乐的兔八哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42114689/article/details/120609982
https://github.com/OXDBXKXO/akamai-toolkit
GitHub - oldcomputer2007/akamai-deobfuscator: A tool to help you deobfuscate Akamai scripts.
参考:
Akamai保护的相关网站(IHG,TI)学习记录 - 知乎
Akamai阿卡迈_abck逆向sensor_data(一)_Codeooo的博客-CSDN博客_akamai逆向
Akamai阿卡迈_abck逆向sensor_data(二)_Codeooo的博客-CSDN博客_akamai逆向
Akamai 反混淆篇_TiggerRun的博客-CSDN博客_akamai逆向
Akamai sensor_data_zwl_haley的博客-CSDN博客_akamai nike
老外写的js反混淆教程_lacoucou的博客-CSDN博客
Akamai 2.0 最新版逆向分析_Freak896的博客-CSDN博客_akamai 逆向
JS逆向|某卡麦 2.0 最新版逆向分析_悦来客栈的老板的博客-CSDN博客
Akamai2.0 Akamai1.75 破盾 sensor_data_herochl的博客-CSDN博客_akamaiAkamai 2.0 最新版逆向分析_Freak896的博客-CSDN博客_akamai 逆向
在html页面中的js如何调试,你可能不知道的14个JavaScript调试技巧_yuan xiong的博客-CSDN博客
Akamai 1.75 sensor_data源码逆向破解(一)_herochl的博客-CSDN博客_akamai逆向
Akamai sensor_data_zwl_haley的博客-CSDN博客_akamai nike
这篇关于akamai相关资料整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!