码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    商业化之路怎么走,一家开源分布式数据库厂商的答案|爱分析调研
    html[Attributes Style]什么意思
    LeetCode59.螺旋矩阵
    分享股票下单API接口的方式和API攻略
    JAVA MongoDB 连接以及增删改查
    vue基础知识九:动态给vue的data添加一个新的属性时会发生什么?怎样解决?
    realme手机用什么蓝牙耳机好?2022公认音质最好的蓝牙耳机
    什么是 DevOps?看这一篇就够了!
    差分
    因子分析模型介绍、matlab案例我国上市公司盈利能力与资本结构的实证分析
  • 原文地址:https://blog.csdn.net/u010856177/article/details/126918738
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号