Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
explo — Menschen- und maschinenlesbares Format für Web-Schwachstellentests | Kitploit
Tools/GitHubGitHub/telekom-security/explo
SchwachstellenanalyseScripting & AutomatisierungWebanwendungs-ExploitationWebsicherheitPenetrationstestsArchived
GitHubtelekom-security/explo

explo

Menschen- und maschinenlesbares Format für Web-Schwachstellentests

Repository anzeigen
19549vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

explo

screenshot

explo ist ein einfaches Werkzeug, um Web-Sicherheitslücken in einem menschen- und maschinenlesbaren Format zu beschreiben. Durch die Definition eines Request-/Condition-Workflows ist explo in der Lage, Sicherheitslücken auszunutzen, ohne dass ein Skript geschrieben werden muss. Dies ermöglicht es, komplexe Schwachstellen in einem einfachen lesbaren und ausführbaren Format zu teilen.

Beispiel zum Extrahieren eines CSRF-Tokens und dessen Verwendung in einem Formular:

root@kitploit:~
name: get_csrf
description: csrf token extrahieren
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: nutzt SQL-Injection-Schwachstelle mit gültigem CSRF-Token aus
module: http
parameter:
    url: http://example.com/contact
    method: POST
    body:
        csrf: "{{get_csrf.extracted.csrf}}"
        username: "' SQL INJECTION"
    find: You have an error in your SQL syntax

Inhaltsverzeichnis

  • Installation
  • Verwendung
  • Module
    • HTTP (Basis)
    • HTTP (Header)
    • SQLI (Blind)
    • Metadaten

In diesem Beispiel wird die Sicherheitslücke getestet, indem zwei Schritte ausgeführt werden, die von oben nach unten ablaufen. Der letzte Schritt gibt je nachdem, ob der String 'You have an error in your SQL syntax' gefunden wurde, Erfolg oder Misserfolg zurück.

Installation

Installation via PyPI

root@kitploit:~
pip install explo

Installation aus dem Quellcode

root@kitploit:~
git clone https://github.com/dtag-dev-sec/explo
cd explo
python setup.py install

Verwendung

root@kitploit:~
explo [--verbose|-v] testcase.yaml
explo [--verbose|-v] examples/*.yaml

Im Ordner examples/ befinden sich einige Beispiel-Testfälle.

root@kitploit:~
$ explo examples/SQLI_simple_testphp.vulnweb.com.yaml

Sie können explo auch als Python-Bibliothek einbinden:

root@kitploit:~
from explo.core import from_content as explo_from_content
from explo.core import ExploException, ProxyException

def save_log(msg):
    print(msg)

try:
    result = explo_from_content(explo_yaml_file, save_log)
except ExploException as err:
    print(err)

Optionen

Ein HTTP/HTTPS-Proxy und ein Timeout für Anfragen können über Umgebungsvariablen gesetzt werden. Das Standard-Timeout beträgt 15 Sekunden.

root@kitploit:~
$ export http_proxy=http://proxy:8089
$ export https_proxy=https://proxy:8090
$ export timeout=10
$ explo ...

Module

Module können hinzugefügt werden, um die Funktionalität und Klassen von Sicherheitslücken zu erweitern.

http (Basis)

Das http-Modul ermöglicht es, eine HTTP-Anfrage zu stellen, Inhalte zu extrahieren und Inhalte zu suchen/zu überprüfen.

Die folgenden Daten stehen für nachfolgende Schritte zur Verfügung:

  • der HTTP-Antwort-Body: stepname.response.content
  • die HTTP-Antwort-Cookies: stepname.response.cookies
  • extrahierte Inhalte: response.extracted.variable_name

Wenn ein find_regex-Parameter gesetzt ist, wird ein regulärer Ausdruck auf den Antwort-Body angewendet. Falls dies fehlschlägt, gibt das Modul einen Fehler zurück und stoppt die Ausführung des aktuellen Workflows (und aller nachfolgenden Schritte).

Beim Extrahieren mittels regulärer Ausdrücke verwenden Sie die Treffergruppe extract, um den zu extrahierenden Wert zu markieren (siehe unten für ein Beispiel).

Zum Referenzieren von Cookies geben Sie den Namen des vorherigen Schritts an, von dem die Cookies übernommen werden sollen (cookies: the_other_step.response.cookies).

Parameterbeispiele:

root@kitploit:~
parameter:
    url: http://example.com
    method: GET
    allow_redirects: True
    headers:
        User-Agent: explo
        Content-Type: abc
    cookies: stepname.response.cookies
    body:
        key: value
    find: nach String suchen
    find_regex: nach (reg|ulärem) Ausdruck suchen
    find_in_headers: Suchstring in Headern
    expect_response_code: 200
    extract:
        variable1: [CSS, '#csrf']
        variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']

http_header

Das http_header-Modul prüft, ob einer Antwort ein bestimmter Satz von Headern (und Werten) fehlt. Alle anderen Parameter sind identisch zum http-Modul.

Die folgenden Daten stehen für andere Module zur Verfügung:

  • der HTTP-Antwort-Body: stepname.response.content
  • die HTTP-Antwort-Cookies: stepname.response.cookies

Parameterbeispiele:

root@kitploit:~
parameter:
    url: http://example.com
    method: GET
    allow_redirects: True
    headers:
        User-Agent: explo
        Content-Type: abc
    body:
        key: value
    headers_required:
        X-XSS-Protection: 1
        Server: .               # alle Werte sind gültig

sqli_blind

Das sqli_blind-Modul kann zeitbasierte blinde SQL-Injection erkennen.

Die folgenden Daten stehen für andere Module zur Verfügung:

  • der HTTP-Antwort-Body: stepname.response.content
  • die HTTP-Antwort-Cookies: stepname.response.cookies

Parameterbeispiele:

root@kitploit:~
parameter:
    url: http://example.com/vulnerable.php?id=1' waitfor delay '00:00:5'--
    method: GET
    delay_seconds: 5

Wenn der Schwellenwert von 5 Sekunden (delay_seconds) überschritten wird, gibt die Prüfung wahr zurück (und damit einen Erfolg).

Metadaten

Der Metadaten-Block ist ein spezieller Block, der als erster Block in einer .yaml-Datei hinzugefügt werden kann, um einer Schwachstelle Metadaten zur weiteren Verarbeitung hinzuzufügen. Dies ist nützlich, wenn explo als Bibliothek verwendet wird und Metadaten für jede Schwachstellenbeschreibung mit meta_from_content(content) gelesen werden können. Dieses Modul benötigt weder einen Namen noch eine Beschreibung.

Beispiele:

root@kitploit:~
module: metadata
parameter:
    cvss: 8.9
    author: Robin Verton
---
name: login
description: login with test credentials
module: http
parameter:
    url: http://testphp.vulnweb.com/userinfo.php
    method: POST
    body:
        uname: test
        pass: test
Tool herunterladen