Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
APIHarvester — L'outil d'attaque API en un seul coup - trouve l'URL de l'API à partir de la racine donnée et simule les attaques automatisées | Kitploit
Outils/GitHubGitHub/piratesshield/apiharvester
ReconnaissanceScanners de VulnérabilitésScanners de Vulnérabilités WebÉnumération DNS et Sous-domaineExploitation d'Applications WebTests de Sécurité des APICollecte d'InformationsFuzzingTests d'IntrusionDétection de SecretsCrawler
3267il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Sécurité des API
GitHubpiratesshield/apiharvester

APIHarvester

L'outil d'attaque API en un seul coup - trouve l'URL de l'API à partir de la racine donnée et simule les attaques automatisées

Voir le dépôt
Partager
ChatGPT Image Jul 15, 2026, 10_14_08 AM

ApiHarvester

Un scanner de sécurité d'API en boîte noire à pipeline complet écrit en Python. Il énumère les endpoints, identifie les paramètres, sonde les méthodes HTTP, teste la logique d'authentification/d'autorisation et exécute des simulations d'attaques standard de l'OWASP API Top 10 (BOLA, Broken Auth, BFLA, Mass Assignment, Rate Limiting, SSRF, Security Misconfiguration, etc.), ainsi qu'un fuzzer de fiabilité de style RESTler qui traque les crashs/500s indépendamment de toute catégorie OWASP.

Tous les scripts principaux sont conçus pour être stdlib-only (bibliothèque standard uniquement). Si des outils ou bibliothèques externes ne sont pas présents sur le système, apiharvester bascule automatiquement vers des implémentations pure-Python pour garantir une exécution immédiate.


Structure du dépôt

  • apiharvester/ — Le répertoire principal du package Python. Exécuter avec python3 -m apiharvester.
  • scripts/check_requirements.sh — Vérifie les prérequis binaires + payloads.
  • scripts/install_requirements.sh — Télécharge les fichiers de payloads SecLists requis et installe éventuellement les binaires (via go install et pip).
  • apiharvester.py — Une distribution autonome du scanner en un seul fichier.
  • api_deep_discovery.py — Crawler dynamique utilisant le code du navigateur headless Katana pour la découverte dynamique des endpoints SPA/XHR.
  • api_intelligence_engine.py — Agrégateur de pipeline et classificateur passif de vulnérabilités.
  • apisec.py — Version alternative du scanner de sécurité en un seul fichier.
  • requirements.txt — Liste des dépendances Python (principalement pour les accélérateurs optionnels basés sur Python).
  • payloads/ — Fichiers de wordlists et de payloads pour la reconnaissance :
    • params.txt — 25 889 candidats de noms de paramètres pour les tests d'endpoints d'API
    • directories.txt — 62 281 motifs de chemins d'API courants et noms de répertoires
    • subdomains.txt — 5 000 variantes de sous-domaines pour la découverte d'API
    • kiterunner/ — Fichiers de schémas de routes Kiterunner pour l'énumération accélérée des endpoints

Installation et configuration

  1. Vérifier les prérequis : Exécutez le script en lecture seule pour vérifier si les outils/payloads principaux sont disponibles :

    ./scripts/check_requirements.sh
    
  2. Installer les outils optionnels et les fichiers de payloads : Exécutez le script d'installation pour récupérer automatiquement les top wordlists SecLists, les schémas de routes Kiterunner et installer les accélérateurs d'outils :

    ./scripts/install_requirements.sh
    
  3. Installer les packages Python :

    pip3 install -r requirements.txt
    

Utilisation

Exécutez le scanner directement contre un domaine cible :

python3 -m apiharvester example.com \
    --auth "Bearer eyJ..." \
    --auth2 "Bearer eyJ_lowpriv..." \
    --threads 20 \
    --html report.html \
    --json findings.jsonl

Options de ligne de commande :

  • target (positionnel) : Domaine FQDN à scanner.
  • --auth : Jeton d'accès à privilèges élevés pour les vérifications authentifiées (par exemple, session utilisateur valide).
  • --auth2 : Jeton d'accès à faibles privilèges pour les tests BOLA / BFLA / d'escalade de privilèges inter-comptes.
  • --threads : Taille du pool de threads (par défaut : 20).
  • --timeout : Délai d'expiration des requêtes HTTP en secondes (par défaut : 10).
  • --burst : Nombre de requêtes rapides pour la vérification du rate-limiting (par défaut : 20).
  • --json : Enregistrer le rapport au format JSONL (findings JSON délimités par ligne).
  • --html : Enregistrer le rapport du tableau de bord HTML interactif.
  • --output-dir : Remplacer le chemin du répertoire de sortie par défaut (par exemple, ./scans/example.com).
  • --skip-recon : Ignorer les phases de reconnaissance, utiliser les fichiers de sortie existants d'une exécution précédente.
  • --recon-dir : Charger un répertoire de sortie de reconnaissance préexistant et exécuter uniquement les phases d'attaque.
  • --attacks-only : Exécuter uniquement les phases d'attaque (implique --skip-recon).
  • --attacks : Liste d'attaques séparées par des virgules à exécuter. Par défaut : toutes. Disponibles :
    bola,broken_auth,mass_assignment,rate_limit,bfla,business_logic,
    ssrf,misconfiguration,inventory,sspp,injection,reliability,secrets
    

Modules d'attaque

OWASP API Top 10 (API1–API10:2023) :

  • API1 : BOLA/IDOR (bola) — Broken Object-Level Authorization. Teste les endpoints d'ID d'objet avec du fuzzing d'ID (0, 1, 2, 99, "admin", "test", variantes UUID, etc.) et des jetons d'authentification différentiels.
  • API2 : Broken Auth (broken_auth) — Découverte d'endpoints non authentifiés, cassage de secret faible JWT, contournement alg=none, altération de claims, injection kid, plus les contournements de méthode OPTIONS/HEAD.
  • API3 : Mass Assignment (mass_assignment) — Injection de champs d'escalade de privilèges dans les corps PUT/PATCH (role, is_admin, verified, balance, etc.).
  • API4 : Rate Limiting (rate_limit) — Envoie 20+ requêtes rapides ; signale les endpoints renvoyant 200 au lieu de 429 Retry-After.
  • API5 : BFLA (bfla) — Broken Function-Level Authorization. Teste les chemins sensibles (/admin, /roles, /impersonate, etc.) avec et sans jeton à faibles privilèges.
  • API6 : Business Logic (business_logic) — Violations de workflow/machine à états (par exemple, mise à jour d'une commande après paiement).
  • API7 : SSRF (ssrf) — Teste la falsification de requête côté serveur via des paramètres d'URL et des corps de requête.
  • API8 : Misconfiguration (misconfiguration) — CORS (actif : envoie une Origin non fiable), en-têtes de sécurité manquants, erreurs verbeuses, fuites de bannière serveur.
  • API9 : Inventory (inventory) — Endpoints non documentés, endpoints abandonnés, interfaces d'administration exposées.
  • API10 : SSPP (sspp) — Unsafe Server-Side Post Processing (injection de template, injection XPath, etc.).

Attaques bonus :

  • Injection (injection) — Injection SQL, XSS, injection de commande (basée sur les erreurs + aveugle basée sur le temps).
  • Reliability (reliability) — Fuzzing de style RESTler : tests de limites/d'entrées malformées pour trouver des crashs 5xx et des bugs de fiabilité serveur (indépendamment des catégories OWASP).
  • Secrets (secrets) — Correspondance de motifs pour les identifiants divulgués dans les corps de réponse : AWS Access Keys, Google API Keys, Slack Tokens, Stripe Keys, GitHub Tokens, Private Key Blocks, JWTs, et affectations de secrets génériques (api_key=..., password=..., etc.).

Exemples de scans

Scan complet avec jeton authentifié + à faibles privilèges (idéal pour BOLA/BFLA) :

python3 -m apiharvester api.example.com \
    --auth "Bearer high_priv_token_here" \
    --auth2 "Bearer low_priv_token_here" \
    --html report.html \
    --json findings.jsonl

Reconnaissance rapide uniquement (découvrir les endpoints, sans attaques) :

python3 -m apiharvester example.com --skip-recon --attacks ""

(Ou simplement ne pas fournir --auth pour ignorer certaines phases d'attaque.)

Réexécuter uniquement les attaques contre les données de reconnaissance sauvegardées (itération rapide) :

python3 -m apiharvester example.com --recon-dir output/example.com_20260715_140233 --attacks-only

Exécuter uniquement des attaques spécifiques (par exemple, BOLA + Secrets) :

python3 -m apiharvester example.com --attacks bola,secrets
Télécharger l’outil