Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
explo — Formato di test delle vulnerabilità web leggibile da umani e macchine | Kitploit
Strumenti/GitHubGitHub/telekom-security/explo
Analisi delle VulnerabilitàScripting e AutomazioneSfruttamento di Applicazioni WebSicurezza WebPenetration TestingArchived
GitHubtelekom-security/explo

explo

Formato di test delle vulnerabilità web leggibile da umani e macchine

Vedi Repository
195493 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

explo

schermata

explo è un semplice strumento per descrivere problemi di sicurezza web in un formato leggibile da umani e macchine. Definendo un flusso di richieste/condizioni, explo è in grado di sfruttare vulnerabilità di sicurezza senza la necessità di scrivere uno script. Ciò consente di condividere vulnerabilità complesse in un formato semplice, leggibile ed eseguibile.

Esempio per estrarre un token csrf e usarlo in un form:

root@kitploit:~
name: get_csrf
description: estrai token csrf
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: sfrutta la vulnerabilità SQL injection con token csrf valido
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

Indice

  • Installazione
  • Utilizzo
  • Moduli
    • HTTP (Base)
    • HTTP (Header)
    • SQLI (Blind)
    • Metadati

In questo file di definizione di esempio, la vulnerabilità viene testata eseguendo due passaggi che vengono eseguiti dall'alto verso il basso. L'ultimo passaggio restituisce un successo o un fallimento, a seconda che venga trovata la stringa 'You have an error in your SQL syntax'.

Installazione

Installazione tramite PyPI

root@kitploit:~
pip install explo

Installazione dal sorgente

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

Utilizzo

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

Nella cartella examples/ sono presenti alcuni casi di test di esempio.

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

Puoi anche includere explo come libreria 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)

Opzioni

Un proxy http/https e un timeout per le richieste possono essere impostati tramite variabili d'ambiente. Il timeout predefinito è di 15 secondi.

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

Moduli

I moduli possono essere aggiunti per migliorare la funzionalità e le classi di problemi di sicurezza.

http (base)

Il modulo http consente di effettuare una richiesta http, estrarre contenuti e cercare/verificare contenuti.

I seguenti dati sono resi disponibili per i passaggi successivi:

  • il corpo della risposta http: stepname.response.content
  • i cookie della risposta http: stepname.response.cookies
  • i contenuti estratti: response.extracted.variable_name

Se viene impostato un parametro find_regex, viene eseguita una corrispondenza tramite espressione regolare sul corpo della risposta. Se ciò fallisce, il modulo restituisce un fallimento e interrompe l'esecuzione del flusso di lavoro corrente (e di tutti i passaggi).

Quando si estrae tramite espressioni regolari, utilizzare il gruppo di cattura extract per contrassegnare il valore da estrarre (vedi esempio sotto).

Per fare riferimento ai cookie, fare riferimento al nome del passaggio precedente da cui devono essere presi i cookie (cookies: the_other_step.response.cookies).

Esempi di parametri:

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: cerca questa stringa
    find_regex: search for (reg|ular)expression
    find_in_headers: stringadicerca negli header
    expect_response_code: 200
    extract:
        variable1: [CSS, '#csrf']
        variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']

http_header

Il modulo http_header consente di verificare se una risposta manca di un insieme specificato di header (e valori). Tutti gli altri parametri sono identici al modulo http.

I seguenti dati sono resi disponibili per altri moduli:

  • il corpo della risposta http: stepname.response.content
  • i cookie della risposta http: stepname.response.cookies

Esempi di parametri:

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: .               # tutti i valori sono validi

sqli_blind

Il modulo sqli_blind è in grado di identificare SQL injection blind basate sul tempo.

I seguenti dati sono resi disponibili per altri moduli:

  • il corpo della risposta http: stepname.response.content
  • i cookie della risposta http: stepname.response.cookies

Esempi di parametri:

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

Se la soglia di 5 secondi (delay_seconds) viene superata, il controllo restituisce true (e quindi un successo).

metadati

Il blocco metadati è un blocco speciale che può essere aggiunto come primo blocco in un file .yaml per aggiungere metadati a una vulnerabilità per elaborazioni successive. Ciò diventa utile quando explo viene utilizzato come libreria e i metadati per ogni descrizione di vulnerabilità possono essere letti con meta_from_content(content). Questo modulo non necessita di un nome o di una descrizione.

Esempi:

root@kitploit:~
module: metadata
parameter:
    cvss: 8.9
    author: Robin Verton
---
name: login
description: login con credenziali di test
module: http
parameter:
    url: http://testphp.vulnweb.com/userinfo.php
    method: POST
    body:
        uname: test
        pass: test
Scarica lo strumento