Ce script vise à fournir divers outils pour travailler sur la solution anti-bot Akamai.
Pour installer les dépendances et commencer à utiliser le script, il suffit d'exécuter:
> cd akamai-toolkit
> npm install
> node toolkit.js Le script utilise le commandant pour analyser les arguments, qui ne se comporte pas correctement lors de l'utilisation npm start . Vous pouvez utiliser node ou tout simplement faire ./toolkit.js (vous devrez peut-être mettre à jour le shebang).
Veuillez consulter le fichier config.json . Il contient la version actuelle de script Akamai que vous devez mettre à jour si nécessaire, le binaire Chrome à utiliser avec Puppeteer et la liste des sites pour vérifier la version Akamai.
Source de Char. L'utilisation d'un AST est une très bonne idée et je prévois d'utiliser la même méthode pour créer des déobfuscateurs pour d'autres scripts anti-bot. Le déobfuscateur de Char a nécessité une URL de script Akamai complète, j'ai donc ajouté la possibilité de simplement taper la cible.
Utilisation: node toolkit.js -d <target> , où la cible peut être du formulaire FedEx.com , www.nike.com ou https://www.adidas.com .
Source de Zedd3v. Refactorisé le code et ajouté la possibilité de vérifier la version sur un seul site.
L'outil imprimera la version du script dans différentes couleurs en fonction du numéro de version Akamai définie dans config.json .
Usage:
node toolkit.js -v vérifiera la version pour tous les sites de config.json .node toolkit.js -v <target> Vérifiera la version sur Target. L'objectif peut être du formulaire FedEx.com , www.nike.com ou https://www.adidas.com .Source de Raybb. J'ai juste gardé la partie de conversion. Il a besoin de mise à jour car les ternaires malformés provoquent parfois des boucles infinies.
Utilisation: node toolkit.js -t
Le script comprend un analyseur Sensor_Data et un vérificateur basé sur le vérificateur de Gondone666, que j'ai amélioré et mis à jour.
Modifications:
Utilisation: node toolkit.js -p
Le script utilise le marionnettiste pour fournir un moyen facile d'expérimenter sur les scripts. Vous pouvez remplacer un script par un script personnalisé, vous permettant d'ajouter des journaux supplémentaires par exemple. Vous pouvez également exécuter JavaScript dans Node et In-Browser. L'outil utilise des fichiers YAML Config, vous permettant de modifier rapidement le comportement de Puppeteer sans avoir à modifier manuellement le code.
Les options disponibles sont:
headless : contrôler la propriété sans tête du navigateurdevtools : pour ouvrir les Devtools dans le navigateurwindowSize : Pour définir une taille de fenêtre personnalisée pour le navigateurdis_intercept : pour désactiver l'interception des demandes (si vous avez juste besoin d'ouvrir une page)target : URL à parcourirhijack_script_path : chemin vers le script personnalisé, laissez vide pour désactiver le script hijackhelpers : Activer les fonctions des aides pour la création de fichiers de configuration plus simple au moment où le script n'a qu'une seule aide: cookie , permettant à l'utilisateur d'accéder à la valeur d'un cookie sans avoir à taper le code JavaScript complet.script_name_includes : URL complète ou une partie de l'URL du script à remplacermain : code à exécuter après le chargement de la page ciblepage : code à exécuter à la pagenode : code à exécuter dans node.js en utilisant evalue ()GET : Code à exécuter lorsque le script cible est en cours de téléchargementpage : code à exécuter à la pagenode : code à exécuter dans node.js à l'aide d'EVAL () (vous n'avez pas besoin d'inclure le code Hijack de script)POST : code à exécuter lorsqu'un message est fait au script ciblepage : code à exécuter à la pagenode : code à exécuter dans node.js en utilisant evalue ()DEFAULT : code à exécuter lorsqu'une autre méthode HTTP est utilisée sur le script ciblepage : code à exécuter à la pagenode : code à exécuter dans node.js en utilisant evalue ()response : code à exécuter lorsqu'une demande de script cible reçoit une réponsepage : code à exécuter à la pagenode : code à exécuter dans node.js en utilisant evalue ()requests : code à exécuter lorsqu'une demande dans toute autre ressource que le scriptpage : code à exécuter à la pagenode : code à exécuter dans node.js en utilisant evalue ()Vous trouverez un exemple de fichier de configuration pour le script Akamai Hijack sur Nike.com dans le répertoire Puppeteer_Configs .
Utilisation: node toolkit.js -c <config_file> Veuillez noter que les fichiers de configuration ne peuvent être que dans le répertoire Puppeteer_Configs et que vous n'avez pas besoin de spécifier l'extension .yaml. Par exemple, pour appeler Puppeteer avec Akamai.yaml Config, vous devez appeler node toolkit.js -c akamai .