Ein fortschrittliches plattformübergreifendes Tool, das den Prozess der Erkennung und Ausnutzung von SQL-Injection-Sicherheitslücken automatisiert.
pip3
python3 -m pip install --upgrade -r requirements.txt
python3 setup.py install
oder python3 -m pip install -e .
ghauri --help
auf Ghauri zugreifen und es ausführen.ODER
Sie können die neueste Version von Ghauri herunterladen, indem Sie das GitHub-Repository klonen.
git clone https://github.com/r0oth3x49/ghauri.git
--proxy
.-r file.txt
--start 1 --stop 2
--skip-urlencode
--sql-shell
(experimentell)--fresh-queries
--hostname
--update
ghauri --update
Befehl, um die neueste Version von ghauri zu erhalten.--ignore-code
--count
-m
(experimentell)
Author: Nasir khan (r0ot h3x49)
usage: ghauri -u URL [OPTIONS]
A cross-platform python based advanced sql injections detection & exploitation tool.
General:
-h, --help Shows the help.
--version Shows the version.
--update update ghauri
-v VERBOSE Verbosity level: 1-5 (default 1).
--batch Never ask for user input, use the default behavior
--flush-session Flush session files for current target
--fresh-queries Ignore query results stored in session file
--test-filter Select test payloads by titles (experimental)
Target:
At least one of these options has to be provided to define the
target(s)
-u URL, --url URL Target URL (e.g. 'http://www.site.com/vuln.php?id=1).
-m BULKFILE Scan multiple targets given in a textual file
-r REQUESTFILE Load HTTP request from a file
Request:
These options can be used to specify how to connect to the target URL
-A , --user-agent HTTP User-Agent header value
-H , --header Extra header (e.g. "X-Forwarded-For: 127.0.0.1")
--host HTTP Host header value
--data Data string to be sent through POST (e.g. "id=1")
--cookie HTTP Cookie header value (e.g. "PHPSESSID=a8d127e..")
--referer HTTP Referer header value
--headers Extra headers (e.g. "Accept-Language: frnETag: 123")
--proxy Use a proxy to connect to the target URL
--delay Delay in seconds between each HTTP request
--timeout Seconds to wait before timeout connection (default 30)
--retries Retries when the connection related error occurs (default 3)
--confirm Confirm the injected payloads.
--ignore-code Ignore (problematic) HTTP error code(s) (e.g. 401)
--skip-urlencode Skip URL encoding of payload data
--force-ssl Force usage of SSL/HTTPS
Optimization:
These options can be used to optimize the performance of ghauri
--threads THREADS Max number of concurrent HTTP(s) requests (default 1)
Injection:
These options can be used to specify which parameters to test for,
provide custom injection payloads and optional tampering scripts
-p TESTPARAMETER Testable parameter(s)
--dbms DBMS Force back-end DBMS to provided value
--prefix Injection payload prefix string
--suffix Injection payload suffix string
--safe-chars Skip URL encoding of specific character(s): (e.g:- --safe-chars="[]")
--fetch-using Fetch data using different operator(s): (e.g: --fetch-using=between/in)
Detection:
These options can be used to customize the detection phase
--level LEVEL Level of tests to perform (1-3, default 1)
--code CODE HTTP code to match when query is evaluated to True
--string String to match when query is evaluated to True
--not-string String to match when query is evaluated to False
--text-only Compare pages based only on the textual content
Techniques:
These options can be used to tweak testing of specific SQL injection
techniques
--technique TECH SQL injection techniques to use (default "BEST")
--time-sec TIMESEC Seconds to delay the DBMS response (default 5)
Enumeration:
These options can be used to enumerate the back-end database
management system information, structure and data contained in the
tables.
-b, --banner Retrieve DBMS banner
--current-user Retrieve DBMS current user
--current-db Retrieve DBMS current database
--hostname Retrieve DBMS server hostname
--dbs Enumerate DBMS databases
--tables Enumerate DBMS database tables
--columns Enumerate DBMS database table columns
--count Retrieve number of entries for table(s)
--dump Dump DBMS database table entries
-D DB DBMS database to enumerate
-T TBL DBMS database tables(s) to enumerate
-C COLS DBMS database table column(s) to enumerate
--start Retrieve entries from offset for dbs/tables/columns/dump
--stop Retrieve entries till offset for dbs/tables/columns/dump
--sql-shell Prompt for an interactive SQL shell (experimental)
Example:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
Usage of Ghauri for attacking targets without prior mutual consent is illegal.
It is the end user's responsibility to obey all applicable local,state and federal laws.
Developer assume no liability and is not responsible for any misuse or damage caused by this program.
Es gibt zahlreiche Artikel und Beiträge, die den Erfolg hervorheben, den Benutzer mit Ghauri im Vergleich zu SQLMap hatten. Obwohl ich Ghauri nicht direkt mit SQLMap vergleiche, haben viele Benutzer dies getan. Ich habe dieses Projekt ins Leben gerufen, weil ich in meiner täglichen Arbeit häufig auf erhebliche Herausforderungen bei der effektiven Konfiguration und Verwendung von SQLMap stieß, selbst für scheinbar einfache SQL-Injections. Obwohl diese Einschleusungen unkompliziert erscheinen, konnte SQLMap sie oft nicht erkennen. Von einem Freund ermutigt, beschloss ich, mein eigenes Werkzeug zu entwickeln. Ich hatte zahlreiche Skripte zur Ausnutzung entwickelt, die jeweils auf bestimmte Fälle zugeschnitten waren, und erkannte den potenziellen Nutzen der Integration dieser Techniken in ein einziges Modul. Dies führte zur Entwicklung von Ghauri, das von der Community gut angenommen wurde und aufgrund seiner Wirksamkeit positives Feedback und Sterne erhielt.
Sogar Stamparam würdigte Ghauri und beschrieb es in einem Tweet als „Neufassung der Interna“ und unterstrich damit die Bedeutung seiner internen Mechanismen.
Sie können beispielsweise eine anfällige HTTP-Anfrage in einer Datei speichern (ein SQLi hinter der Authentifizierung) und sie mithilfe des Schalters -r sowohl für Ghauri als auch für SQLMap bereitstellen. Die Ergebnisse werden für sich sprechen, ohne dass benutzerdefinierte Konfigurationen erforderlich sind.
Ghauri arbeitet sowohl browserähnlich als auch mit eigenen, einzigartigen Methoden und wechselt automatisch zu verschiedenen Exfiltrationstechniken und Umgehungen. Auch dies ist kein direkter Vergleich, da in Ghauri noch viele Funktionen implementiert werden müssen, während SQLMap bereits über zahlreiche Funktionen verfügt. Ghauri führt jedoch konsequent die geforderten Aufgaben aus.
Seit ich dieses Tool entwickelt habe, verwende ich SQLMap selten, außer in einigen Fällen, in denen Ghauri noch verbessert wird.
Ich ermutige Sie, es selbst auszuprobieren. Danke schön.