Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
API-SPY-API-PROBE — Ein leistungsstarkes Directory-Brute-Force-Tool, das für rekursive/Multiplex-Operationen, API-Erkennung und -Enumeration, JS-Datei-Scraping und die Auflistung von API-HTTP-Methoden in einem einzigen Befehl ausgelegt ist. Dies ist nicht NUR für APIs, mein Tool zeichnet sich einfach darin aus. | Kitploit
Tools/GitHubGitHub/austinjump-sec/api-spy-api-probe
AufklärungScripting & AutomatisierungWebanwendungs-ExploitationAPI-SicherheitstestsInformationsbeschaffungPenetrationstestsCrawler
GitHub

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
austinjump-sec/api-spy-api-probe

API-SPY-API-PROBE

Repository anzeigen
5121vor 3 MonatenNoch nicht geprüft

Über

Ein leistungsstarkes Directory-Brute-Force-Tool, das für rekursive/Multiplex-Operationen, API-Erkennung und -Enumeration, JS-Datei-Scraping und die Auflistung von API-HTTP-Methoden in einem einzigen Befehl ausgelegt ist. Dies ist nicht NUR für APIs, mein Tool zeichnet sich einfach darin aus.

Teilen

API-SPY 🕵️👻

Ein leistungsstarkes Directory-Brute-Force-Tool, entwickelt für API-Erkundung und Penetrationstests. Es entdeckt automatisch versteckte API-Endpunkte, führt rekursives Subscanning durch und testet HTTP-Methoden für eine tiefere API-Erfassung.

Bildschirmfoto Arbeit

Funktionen

✨ Hauptfunktionen:

  • 🎯 Schnelle Endpunkt-Erkennung mittels Wordlist-basiertem Brute-Forcing
  • 🔄 Automatisches rekursives Subscanning entdeckter Endpunkte
  • 🔍 HTTP-Methoden-Test (GET, POST, PUT, DELETE, PATCH, OPTIONS)
  • ⚡ Multithread-Scanning für verbesserte Leistung
  • 📊 Intelligente Statuscode-Behandlung (200, 401, 403)
  • 🔗 Interaktive Aufforderungen für selektives Subscanning und Methodentest
  • 🕷️ JavaScript-Scraping nach gängigen /api/-Endpunkten
  • 🪟 Terminal-Multiplexing-Unterstützung (tmux) für parallele Vorgänge
  • ⏱️ Auto-Überspringen von Aufforderungen mit konfigurierbarem Timeout

Installation

Voraussetzungen

  • Python 3.6+
  • requests-Bibliothek
  • tmux (optional, für --split-Flag)
  • xfce-terminal (für Linux-Desktop-Umgebungen)

Einrichtung

# Repository klonen
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# Abhängigkeiten installieren
pip install requests

# Skripte ausführbar machen (optional)
chmod +x apispy.py apiprobe.py

Verwendung

Grundlegende Syntax

python3 apispy.py <baseUrl> <wordlist> [OPTIONEN]

Erforderliche Argumente

ArgumentBeschreibung
<baseUrl>Ziel-URL (z.B. http://example.com oder http://api.example.com)
<wordlist>Pfad zur Wordlist-Datei mit Endpunkten (einer pro Zeile)

Optionale Argumente

ArgumentBeschreibung
--t<number>Thread-Anzahl (max. 150, Standard: 1)
--splittmux split-window anstelle neuer Terminalfenster verwenden
--debugZeigt sonst verborgene Fehlermeldungen an
--loudZeigt alle Meldungen, positive und Fehler, und hebt solche hervor, die nicht 404 zurückgeben
--jsDurchsucht JavaScript-Dateien und extrahiert aus gefundenen Dateien gängige hartcodierte API-Endpunkte

Beispiele

Einfacher Scan mit Standardeinstellungen (single-threaded)

python3 apispy.py http://api.example.com wordlist.txt

Multithread-Scan mit 10 Threads

python3 apispy.py http://api.example.com wordlist.txt -t10

tmux für parallele Vorgänge verwenden

python3 apispy.py http://api.example.com wordlist.txt -t5 --split

Spezifische URL mit höherer Thread-Anzahl subscannen

python3 apispy.py http://api.example.com/v1 wordlist.txt -t20

Funktionsweise

Phase 1: Testen allgemeiner API-Endpunkte

Das Tool beginnt mit dem Testen eines vordefinierten Satzes gängiger API-Pfade:

  • api, v1, v2, api/v1, api/v2, graphql, rest

Phase 2: Wordlist-Brute-Force

  • Lädt Endpunkte aus Ihrer Wordlist (ignoriert Kommentare, die mit # beginnen)
  • Testet jeden Endpunkt mit HTTP-GET-Anfragen
  • Multithread-Ausführung für schnelleres Scannen
  • Identifiziert antwortende Endpunkte mit den Statuscodes: 200, 401, 403

Phase 3: Interaktives Subscanning (optional)

Wenn ein Endpunkt gefunden wird, werden Sie gefragt:

'-> Subscan <url>? (j/n) [Auto-Überspringen in 5s]:
  • Wählen Sie j/yes, um diesen Endpunkt rekursiv mit derselben Wordlist zu scannen
  • Startet automatisch in einem neuen Terminal oder tmux split-window
  • Überspringt automatisch nach 5 Sekunden, wenn keine Eingabe erfolgt

Phase 4: HTTP-Methoden-Test (optional)

Nach dem Subscanning werden Sie gefragt:

'-> Methoden testen auf <url>? (j/n) [Auto-Überspringen in 5s]:
  • Startet apiprobe.py, das HTTP-Methoden auf dem entdeckten Endpunkt testet
  • Getestet werden: GET, POST, PUT, DELETE, PATCH, OPTIONS
  • Farbcodierte Ausgabe (grün für 200, gelb für authentifizierungsbezogene Fehler)
  • Zeigt Antwortgrößen und Hinweise aus dem Allow-Header

Ausgabeinterpretation

API-SPY Hauptskript

[+] Url gefunden: http://api.example.com/v1            ← 200 OK (zugänglich)
    '-> Subscan http://api.example.com/v1? (j/n) [Auto-Überspringen in 0s]: 
[-] Timeout: Aufforderung für http://api.example.com/v1? übersprungen
    '-> Methoden testen auf http://api.example.com/v1? (j/n) [Auto-Überspringen in 4s]: 
[-] Url gefunden, aber nicht erlaubt (403 ERR): ...      ← Verboten, existiert aber
[-] Url gefunden, aber nicht erlaubt (401 ERR): ...      ← Erfordert Authentifizierung

API-Probe-Skript

[+] GET     -> STATUS: 200 OK (Größe: 1024)
[-] POST    -> STATUS: 405 (Größe: 0)
[Header-Hinweis] Allow: GET, HEAD, OPTIONS

Wordlist-Format

Erstellen Sie eine einfache Textdatei mit Endpunkten (einer pro Zeile):

admin
users
api/users
v1/products
v2/customers
/api/v1/auth
/graphql
search
data
config

Hinweis: Zeilen, die mit # beginnen, werden als Kommentare behandelt und ignoriert.

Empfohlene Wordlists

Beliebte API-Wordlists zur Verwendung mit API-SPY:

  • SecLists - API endpoints
  • Assetnote API wordlist
  • FuzzDB API routes

Leistungstipps

Thread-Anzahl-Richtlinien

  • 1-5 Threads: Konservativ, geringeres Erkennungsrisiko, langsamer
  • 5-20 Threads: Ausgewogene Leistung und Tarnung
  • 20-50 Threads: Aggressives Scannen, schnellere Ergebnisse
  • 50-150 Threads: Maximale Geschwindigkeit (kann WAF/IDS auslösen)
# Stealth-Modus (niedrige Threads)
python3 apispy.py http://target.com wordlist.txt -t3

# Ausgewogener Modus
python3 apispy.py http://target.com wordlist.txt -t15

# Aggressiver Modus
python3 apispy.py http://target.com wordlist.txt -t50

Timeout-Verhalten

  • Interaktive Aufforderungen werden automatisch nach 5 Sekunden übersprungen
  • Nützlich für unbeaufsichtigtes Scannen großer Ziellisten
  • Ändern Sie timeout=5 im Quellcode zur Anpassung

Fehlerbehebung

"Wordlist not found"

Stellen Sie sicher, dass der Wordlist-Pfad korrekt und die Datei vorhanden ist:

ls -la /pfad/zur/wordlist.txt

Skript falsch benannt - Fehler

Stellen Sie beim Subscanning sicher:

  • Hauptskript heißt: apispy.py
  • Probe-Skript heißt: apiprobe.py
  • Beide befinden sich im selben Verzeichnis

tmux split-window funktioniert nicht

Falls --split fehlschlägt:

  • Installieren Sie tmux: sudo apt install tmux
  • Stellen Sie sicher, dass Sie in einer tmux-Sitzung laufen: tmux new-session -s scan
  • Fällt automatisch auf xfce-terminal zurück

"Connection Failed" für alle Endpunkte

  • Überprüfen Sie, ob die Basis-URL korrekt und erreichbar ist
  • Prüfen Sie Firewall-/Proxy-Einstellungen
  • Stellen Sie sicher, dass der Zieldienst läuft
  • Testen Sie manuell: curl http://ihre-url/

Keine Ergebnisse gefunden

  • Überprüfen Sie, ob die Wordlist relevante Endpunkte enthält
  • Prüfen Sie, ob das Ziel andere Statuscodes als 200/401/403 zurückgibt
  • Versuchen Sie es mit weniger Threads, um Timeouts zu vermeiden
  • Erhöhen Sie das Request-Timeout in der check_status()-Funktion

Sicherheitshinweise

Tool herunterladen