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
1954910vor 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
Tool herunterladen
  • 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