Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
explo — Format de test de vulnérabilité web lisible par l'homme et la machine | Kitploit
Outils/GitHubGitHub/telekom-security/explo
Analyse des VulnérabilitésScripting et AutomatisationExploitation d'Applications WebSécurité WebTests d'IntrusionArchived
GitHubtelekom-security/explo

explo

Format de test de vulnérabilité web lisible par l'homme et la machine

Voir le dépôt
19549il y a 3 ansVé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 →
Partager

explo

screenshot

explo est un outil simple pour décrire les problèmes de sécurité web dans un format lisible par les humains et par les machines. En définissant un workflow de requêtes/conditions, explo est capable d'exploiter des failles de sécurité sans avoir besoin d'écrire un script. Cela permet de partager des vulnérabilités complexes dans un format simple, lisible et exécutable.

Exemple pour extraire un jeton CSRF et l'utiliser dans un formulaire :

root@kitploit:~
name: get_csrf
description: extract csrf token
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: exploits sql injection vulnerability with valid csrf token
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

Table des matières

  • Installation
  • Utilisation
  • Modules
    • HTTP (de base)
    • HTTP (En-tête)
    • SQLI (Aveugle)
    • Métadonnées

Dans cet exemple de fichier de définition, le problème de sécurité est testé en exécutant deux étapes qui sont exécutées de haut en bas. La dernière étape renvoie un succès ou un échec selon que la chaîne « You have an error in your SQL syntax » a été trouvée.

Installation

Installer via PyPI

root@kitploit:~
pip install explo

Installer via les sources

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

Utilisation

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

Quelques exemples de cas de test se trouvent dans le dossier examples/.

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

Vous pouvez aussi utiliser explo comme bibliothèque Python :

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)

Options

Un proxy http/https et un délai d'attente pour les requêtes peuvent être définis via des variables d'environnement. Le délai d'attente par défaut est de 15 secondes.

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

Modules

Des modules peuvent être ajoutés pour améliorer les fonctionnalités et les classes de problèmes de sécurité.

http (de base)

Le module http permet d'effectuer une requête http, d'extraire du contenu et de rechercher/vérifier du contenu.

Les données suivantes sont mises à disposition pour les étapes suivantes :

  • le corps de la réponse http : stepname.response.content
  • les cookies de la réponse http : stepname.response.cookies
  • le contenu extrait : response.extracted.variable_name

Si un paramètre find_regex est défini, une correspondance par expression régulière est effectuée sur le corps de la réponse. Si elle échoue, ce module renvoie un échec et arrête l'exécution du workflow en cours (et de toutes les étapes).

Lors de l'extraction par expressions régulières, utilisez le groupe de correspondance extract pour marquer la valeur à extraire (voir ci-dessous pour un exemple).

Pour référencer les cookies, faites référence au nom de l'étape précédente d'où les cookies doivent être pris (cookies: the_other_step.response.cookies).

Exemples de paramètres :

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: search for string
    find_regex: search for (reg|ular)expression
    find_in_headers: searchstring in headers
    expect_response_code: 200
    extract:
        variable1: [CSS, '#csrf']
        variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']

http_header

Le module http_header permet de vérifier si une réponse ne contient pas un ensemble spécifié d'en-têtes (et de valeurs). Tous les autres paramètres sont identiques à ceux du module http.

Les données suivantes sont mises à disposition pour d'autres modules :

  • le corps de la réponse http : stepname.response.content
  • les cookies de la réponse http : stepname.response.cookies

Exemples de paramètres :

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: .               # all values are valid

sqli_blind

Le module sqli_blind est capable d'identifier les injections SQL aveugles basées sur le temps.

Les données suivantes sont mises à disposition pour d'autres modules :

  • le corps de la réponse http : stepname.response.content
  • les cookies de la réponse http : stepname.response.cookies

Exemples de paramètres :

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

Si le seuil de 5 secondes (delay_seconds) est dépassé, la vérification renvoie vrai (et donc un succès).

metadata

Le bloc metadata est un bloc spécial qui peut être ajouté comme premier bloc dans un fichier .yaml pour ajouter des métadonnées à une vulnérabilité en vue d'un traitement ultérieur. Cela devient utile lorsque explo est utilisé comme bibliothèque et que les métadonnées de chaque description de vulnérabilité peuvent être lues avec meta_from_content(content). Ce module ne nécessite ni nom ni description.

Exemples :

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
Télécharger l’outil