Tous les articles
4 min de lectureglizzykingdreko

Akamai v3 Sensor Data : plongée en profondeur dans le chiffrement, le déchiffrement et les outils de bypass

Comprendre et contourner la protection anti-bot d'Akamai peut être un vrai casse-tête à cause de sa complexité. Cette plongée en profondeur offre une…

Akamai v3 Sensor Data : plongée en profondeur dans le chiffrement, le déchiffrement et les outils de bypass

Comprendre et contourner la protection anti-bot d'Akamai peut être un vrai casse-tête à cause de sa complexité. Cette plongée en profondeur offre une compréhension claire des processus de chiffrement et de déchiffrement de la v3, des outils pratiques pour démarrer, ainsi que quelques astuces.

Décomposition détaillée du chiffrement et du déchiffrement v3

Processus de chiffrement

Le chiffrement v3 d'Akamai repose sur un algorithme sophistiqué en deux étapes :

  1. Mélange des éléments (Shuffling) :
  • Les données du payload JSON sont d'abord converties en une chaîne délimitée par des deux-points.
  • Les éléments de cette chaîne sont mélangés à l'aide d'un générateur de nombres pseudo-aléatoires (PRNG), initialisé avec un hash de fichier unique extrait du JavaScript d'Akamai.

2. Substitution de caractères :

  • Après le mélange, chaque caractère de la chaîne est substitué par un autre caractère. Cette substitution utilise un autre PRNG amorcé avec un hash dérivé d'un cookie, typiquement du cookie bm_sz.

Processus de déchiffrement

Pour inverser ce chiffrement :

  • Inverser la substitution de caractères : réinitialiser le PRNG avec le même hash dérivé du cookie, puis inverser les substitutions de caractères.
  • Inverser le mélange des éléments : en utilisant le hash de fichier d'origine dérivé du script, les éléments de la chaîne sont remis dans leur ordre initial.

La nécessité d'avoir à la fois le contenu du script et le hash du cookie pour un chiffrement et un déchiffrement réussis augmente considérablement la complexité du contournement de la v3 d'Akamai.

Le hachage dans Akamai v3

Hachage du cookie

Au départ, la première requête sensor_data utilise un hash de cookie par défaut de 8888888. Une fois que cette requête initiale renvoie un cookie bm_sz valide, les payloads suivants utilisent un hash dérivé du cookie extrait du cookie renvoyé. Cette intégration garantit que chaque payload de capteur reste unique par session, augmentant la difficulté des attaques par rejeu.

Hachage du fichier

Akamai utilise des fichiers JavaScript dynamiques pour générer les sensor data. Chaque fichier de script inclut des concaténations complexes et dynamiques de fonctions, de tableaux et d'opérations de hachage pour calculer le hash de fichier réel. Ce hash de fichier est ensuite utilisé comme graine (seed) pour la phase de mélange des éléments du chiffrement. Pour la logique d'extraction détaillée, vous pouvez explorer l'implémentation basée sur l'AST dans mon dépôt GitHub npm ; dites-moi si une plongée en profondeur là-dessus serait appréciée.
Donc, pour déchiffrer les sensor_data, le code source de son script va être requis.

Changements majeurs de la v2 à la v3

Les mises à niveau et changements importants par rapport aux sensor data v2 d'Akamai incluent :

  • Intégration du cookie : la v3 utilise explicitement les données du cookie pour le chiffrement, renforçant la sécurité et l'unicité de chaque payload.
  • Hachage dépendant du script : contrairement à la v2, le chiffrement v3 repose fortement sur des hashs de fichiers JavaScript calculés en temps réel, ce qui complique les efforts de reverse-engineering statique.
  • Complexité et sécurité : la complexité globale du chiffrement a substantiellement augmenté, offrant une protection plus forte contre les attaques automatisées.

Pour référence historique et comparaison, consultez le dépôt v2.

Utilisation pratique du module helper Akamai v3

Mon helper Akamai v3 open-source (GitHub) simplifie la gestion du chiffrement et du déchiffrement des sensor data :

Installation

npm install akamai-v3-sensor-data-helper

Exemple de déchiffrement

const akamaiHelper = require('akamai-v3-sensor-data-helper');
const fs = require('fs');

const scriptContent = fs.readFileSync('akamai_script.js', 'utf-8');
const encryptedSensorData = '{"sensor_data":"3;0;1;0;3753014;..."}';
const decryptedData = akamaiHelper.decrypt(encryptedSensorData, scriptContent);
if (decryptedData.success) {
    console.log(decryptedData.parsedData);
} else {
    console.error("Decryption failed:", decryptedData.message);
}

Application web : visualiser les Akamai Sensor Data

J'ai développé la Akamai Tools Web App, une interface intuitive conçue pour simplifier la gestion des sensor data :

  • Decrypt Payload Tool : convertit rapidement les sensor_data chiffrées en JSON lisible.

  • Encrypt Payload Tool : crée sans effort des sensor_data valides à partir d'entrées JSON structurées.

  • Cookie Hash Extractor : extrait rapidement le hash des cookies bm_sz pour l'utiliser dans les processus de chiffrement.

Besoin d'aide avec les antibots ?

Découvrez mon entreprise d'API de bypass antibot TakionAPI. Nous fournissons des API pour la plupart des antibots/captchas, ainsi que des solutions de web scraping sur mesure pour des projets spécifiques.

Me suivre et me contacter

Vous avez apprécié cet article ? Envisagez de me soutenir via BuyMeACoffee.

anti-botakamaiabckencryptionsensordata

Sautez l'étape de la rétro-ingénierie.

Takion renvoie des cookies, en-têtes et tokens frais pour tous les grands murs antibot. Un seul POST, aucun navigateur, premier appel dans l'heure.