
Una herramienta avanzada multiplataforma que automatiza el proceso de detección y explotación de fallos de seguridad de inyección SQL
Una herramienta avanzada multiplataforma que automatiza el proceso de detección y explotación de fallos de inyección SQL.

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install o python3 -m pip install -e .ghauri --help.O
Puedes descargar la última versión de Ghauri clonando el repositorio de GitHub.
git clone https://github.com/r0oth3x49/ghauri.git
--proxy.-r file.txt--start 1 --stop 2--skip-urlencode--sql-shell (experimental)--fresh-queries--hostname--update
ghauri --update para obtener la última versión de ghauri.--ignore-code--count-m (experimental)--random-agent, --mobile
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")
--mobile Imitate smartphone through HTTP User-Agent header
--random-agent Use randomly selected HTTP User-Agent header value
--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: fr\nETag: 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
El uso de Ghauri para atacar objetivos sin consentimiento mutuo previo es ilegal.
Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables.
El desarrollador no asume ninguna responsabilidad y no se hace responsable de ningún uso indebido o daño causado por este programa.
Hay numerosos artículos y publicaciones destacando el éxito que los usuarios han tenido con Ghauri en comparación con SQLMap. Aunque no estoy comparando directamente Ghauri con SQLMap, muchos usuarios lo han hecho. Inicié este proyecto porque, en mi trabajo diario, me encontraba frecuentemente con desafíos significativos para configurar y usar SQLMap de manera efectiva, incluso para inyecciones SQL aparentemente simples. A pesar de que estas inyecciones parecían sencillas, SQLMap a menudo fallaba en detectarlas. Animado por un amigo, decidí crear mi propia herramienta. Había desarrollado numerosos scripts para explotación, cada uno adaptado a casos específicos, y me di cuenta del beneficio potencial de integrar estas técnicas en un solo módulo. Esto llevó a la creación de Ghauri, que ha sido bien recibida por la comunidad, obteniendo comentarios positivos y estrellas debido a su efectividad.
Incluso Stamparam reconoció a Ghauri, describiéndolo como una "reescritura de los internos" en un tuit, subrayando la importancia de su mecánica interna.
Por ejemplo, puedes guardar una solicitud HTTP vulnerable en un archivo (un SQLi detrás de autenticación) y proporcionárselo tanto a Ghauri como a SQLMap usando la opción -r. Los resultados hablarán por sí solos sin necesidad de configuraciones personalizadas.
Ghauri opera tanto de manera similar a un navegador como con sus propios métodos únicos, cambiando automáticamente entre diferentes técnicas de exfiltración y bypass. De nuevo, esto no es una comparación directa, ya que Ghauri aún tiene muchas características por implementar, mientras que SQLMap ya es rico en funciones. Sin embargo, Ghauri realiza de forma consistente las tareas requeridas.
Desde que desarrollé esta herramienta, rara vez uso SQLMap, excepto en algunos casos donde Ghauri todavía se está mejorando.
Te animo a probarlo por ti mismo. Gracias.