
Uno strumento multipiattaforma avanzato che automatizza il rilevamento e lo sfruttamento delle vulnerabilità di sicurezza SQL injection.
Uno strumento multipiattaforma avanzato che automatizza il processo di rilevamento e sfruttamento delle vulnerabilità di SQL injection.

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install o python3 -m pip install -e .ghauri --help.OPPURE
Puoi scaricare l'ultima versione di Ghauri clonando il repository GitHub.
git clone https://github.com/r0oth3x49/ghauri.git
--proxy.-r file.txt--start 1 --stop 2--skip-urlencode--sql-shell (sperimentale)--fresh-queries--hostname
Autore: Nasir khan ()
usage: ghauri -u URL [OPTIONS]
Uno strumento avanzato multipiattaforma basato su Python per il rilevamento e lo sfruttamento di SQL injection.
Generale:
-h, --help Mostra l'aiuto.
--version Mostra la versione.
--update aggiorna ghauri
-v VERBOSE Livello di verbosità: 1-5 (default 1).
--batch Non chiedere mai input all'utente, usa il comportamento predefinito
--flush-session Svuota i file di sessione per il target corrente
--fresh-queries Ignora i risultati delle query memorizzati nel file di sessione
--test-filter Seleziona i payload di test per titoli (sperimentale)
Target:
Almeno una di queste opzioni deve essere fornita per definire il/i target
-u URL, --url URL URL del target (es. 'http://www.site.com/vuln.php?id=1).
-m BULKFILE Scansiona più target dati in un file testuale
-r REQUESTFILE Carica richiesta HTTP da un file
Richiesta:
Queste opzioni possono essere usate per specificare come connettersi all'URL del target
-A , --user-agent valore dell'intestazione HTTP User-Agent
-H , --header Intestazione extra (es. "X-Forwarded-For: 127.0.0.1")
--mobile Imita smartphone tramite intestazione HTTP User-Agent
--random-agent Usa un valore di intestazione HTTP User-Agent selezionato casualmente
--host valore dell'intestazione HTTP Host
--data Stringa di dati da inviare tramite POST (es. "id=1")
--cookie valore dell'intestazione HTTP Cookie (es. "PHPSESSID=a8d127e..")
--referer valore dell'intestazione HTTP Referer
--headers Intestazioni extra (es. "Accept-Language: fr\nETag: 123")
--proxy Usa un proxy per connettersi all'URL del target
--delay Ritardo in secondi tra ogni richiesta HTTP
--timeout Secondi da attendere prima del timeout della connessione (default 30)
--retries Tentativi quando si verifica un errore di connessione (default 3)
--confirm Conferma i payload iniettati.
--ignore-code Ignora codici di errore HTTP problematici (es. 401)
--skip-urlencode Salta la codifica URL dei dati del payload
--force-ssl Forza l'uso di SSL/HTTPS
Ottimizzazione:
Queste opzioni possono essere usate per ottimizzare le prestazioni di ghauri
--threads THREADS Numero massimo di richieste HTTP(s) concorrenti (default 1)
Iniezione:
Queste opzioni possono essere usate per specificare quali parametri testare,
fornire payload di iniezione personalizzati e script di tampering opzionali
-p TESTPARAMETER Parametro/i testabile/i
--dbms DBMS Forza il DBMS back-end al valore fornito
--prefix Stringa prefisso del payload di iniezione
--suffix Stringa suffisso del payload di iniezione
--safe-chars Salta la codifica URL di caratteri specifici: (es: --safe-chars="[]")
--fetch-using Recupera dati usando operatori diversi: (es: --fetch-using=between/in)
Rilevamento:
Queste opzioni possono essere usate per personalizzare la fase di rilevamento
--level LEVEL Livello di test da eseguire (1-3, default 1)
--code CODE Codice HTTP da confrontare quando la query è valutata True
--string Stringa da confrontare quando la query è valutata True
--not-string Stringa da confrontare quando la query è valutata False
--text-only Confronta le pagine basandosi solo sul contenuto testuale
Tecniche:
Queste opzioni possono essere usate per modificare il test di specifiche tecniche
di SQL injection
--technique TECH Tecniche di SQL injection da usare (default "BEST")
--time-sec TIMESEC Secondi per ritardare la risposta del DBMS (default 5)
Enumerazione:
Queste opzioni possono essere usate per enumerare le informazioni del sistema di
gestione del database back-end, la struttura e i dati contenuti nelle tabelle.
-b, --banner Recupera banner del DBMS
--current-user Recupera utente corrente del DBMS
--current-db Recupera database corrente del DBMS
--hostname Recupera hostname del server DBMS
--dbs Enumera database del DBMS
--tables Enumera tabelle del database DBMS
--columns Enumera colonne delle tabelle del database DBMS
--count Recupera numero di voci per tabella/e
--dump Scarica le voci delle tabelle del database DBMS
-D DB Database DBMS da enumerare
-T TBL Tabella/e del database DBMS da enumerare
-C COLS Colonna/e della tabella del database DBMS da enumerare
--start Recupera voci a partire dall'offset per db/tabelle/colonne/dump
--stop Recupera voci fino all'offset per db/tabelle/colonne/dump
--sql-shell Richiedi una shell SQL interattiva (sperimentale)
Esempio:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
L'uso di Ghauri per attaccare target senza il previo consenso reciproco è illegale.
È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili.
Lo sviluppatore non si assume alcuna responsabilità e non è responsabile per qualsiasi uso improprio o danno causato da questo programma.
Ci sono numerosi articoli e post che evidenziano il successo che gli utenti hanno avuto con Ghauri rispetto a SQLMap. Anche se non sto confrontando direttamente Ghauri con SQLMap, molti utenti lo hanno fatto. Ho avviato questo progetto perché, nel mio lavoro quotidiano, incontravo spesso sfide significative nel configurare e usare SQLMap in modo efficace, anche per SQL injection apparentemente semplici. Nonostante queste iniezioni sembrassero facili, SQLMap spesso falliva nel rilevarle. Incoraggiato da un amico, ho deciso di creare il mio strumento. Avevo sviluppato numerosi script per lo sfruttamento, ciascuno adattato a casi specifici, e ho realizzato il potenziale beneficio di integrare queste tecniche in un unico modulo. Questo ha portato alla creazione di Ghauri, che è stato ben accolto dalla comunità, ricevendo feedback positivi e stelle grazie alla sua efficacia.
Anche Stamparam ha riconosciuto Ghauri, descrivendolo come una "riscrittura degli interni" in un tweet, sottolineando l'importanza della sua meccanica interna.
Ad esempio, puoi salvare una richiesta HTTP vulnerabile in un file (un SQLi dietro autenticazione) e fornirla sia a Ghauri che a SQLMap usando l'opzione -r. I risultati parleranno da soli senza bisogno di configurazioni personalizzate.
Ghauri opera sia in modo simile a un browser che con i propri metodi unici, passando automaticamente a diverse tecniche di esfiltrazione e bypass. Ancora una volta, questo non è un confronto diretto poiché Ghauri ha ancora molte funzionalità da implementare, mentre SQLMap è già ricco di funzionalità. Tuttavia, Ghauri esegue costantemente i compiti richiesti.
Da quando ho sviluppato questo strumento, uso raramente SQLMap, tranne in alcuni casi in cui Ghauri è ancora in fase di miglioramento.
Ti incoraggio a provarlo tu stesso. Grazie.
--update
ghauri --update per ottenere l'ultima versione di ghauri.--ignore-code--count-m (sperimentale)--random-agent, --mobile