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

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值