
Un outil avancé multiplateforme qui automatise le processus de détection et d'exploitation des failles de sécurité par injection SQL
Un outil multiplateforme avancé qui automatise le processus de détection et d'exploitation des failles d'injection SQL.

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install ou python3 -m pip install -e .ghauri --help.OU
Vous pouvez télécharger la dernière version de Ghauri en clonant le dépôt GitHub.
git clone https://github.com/r0oth3x49/ghauri.git
--proxy.-r file.txt--start 1 --stop 2--skip-urlencode--sql-shell (expérimental)--fresh-queries
Auteur: Nasir khan ()
usage: ghauri -u URL [OPTIONS]
Outil multiplateforme avancé de détection et d'exploitation d'injections SQL basé sur Python.
Général:
-h, --help Affiche l'aide.
--version Affiche la version.
--update Met à jour ghauri
-v VERBOSE Niveau de verbosité : 1-5 (par défaut 1).
--batch Ne jamais demander la saisie, utiliser le comportement par défaut
--flush-session Vide les fichiers de session pour la cible actuelle
--fresh-queries Ignore les résultats de requêtes stockés dans le fichier de session
--test-filter Sélectionne les charges utiles de test par titres (expérimental)
Cible:
Au moins l'une de ces options doit être fournie pour définir la (les)
cible(s)
-u URL, --url URL URL cible (ex. 'http://www.site.com/vuln.php?id=1').
-m BULKFILE Analyse plusieurs cibles listées dans un fichier texte
-r REQUESTFILE Charge une requête HTTP depuis un fichier
Requête:
Ces options permettent de spécifier comment se connecter à l'URL cible
-A , --user-agent Valeur de l'en-tête HTTP User-Agent
-H , --header En-tête supplémentaire (ex. "X-Forwarded-For: 127.0.0.1")
--mobile Imiter un smartphone via l'en-tête HTTP User-Agent
--random-agent Utilise une valeur d'en-tête HTTP User-Agent aléatoire
--host Valeur de l'en-tête HTTP Host
--data Chaîne de données à envoyer via POST (ex. "id=1")
--cookie Valeur de l'en-tête HTTP Cookie (ex. "PHPSESSID=a8d127e..")
--referer Valeur de l'en-tête HTTP Referer
--headers En-têtes supplémentaires (ex. "Accept-Language: fr\nETag: 123")
--proxy Utiliser un proxy pour se connecter à l'URL cible
--delay Délai en secondes entre chaque requête HTTP
--timeout Secondes d'attente avant timeout de connexion (par défaut 30)
--retries Nombre de tentatives en cas d'erreur de connexion (par défaut 3)
--confirm Confirmer les charges utiles injectées.
--ignore-code Ignorer le(s) code(s) d'erreur HTTP (ex. 401)
--skip-urlencode Ignorer l'encodage URL des données de charge utile
--force-ssl Forcer l'utilisation de SSL/HTTPS
Optimisation:
Ces options permettent d'optimiser les performances de ghauri
--threads THREADS Nombre maximum de requêtes HTTP(s) simultanées (par défaut 1)
Injection:
Ces options permettent de spécifier les paramètres à tester,
de fournir des charges utiles personnalisées et des scripts de falsification optionnels
-p TESTPARAMETER Paramètre(s) à tester
--dbms DBMS Forcer le SGBD back-end à la valeur fournie
--prefix Chaîne de préfixe de la charge utile d'injection
--suffix Chaîne de suffixe de la charge utile d'injection
--safe-chars Ignorer l'encodage URL de caractères spécifiques : (ex: --safe-chars="[]")
--fetch-using Récupérer les données en utilisant différents opérateurs : (ex: --fetch-using=between/in)
Détection:
Ces options permettent de personnaliser la phase de détection
--level LEVEL Niveau des tests à effectuer (1-3, par défaut 1)
--code CODE Code HTTP correspondant lorsque la requête est évaluée à Vrai
--string Chaîne correspondant lorsque la requête est évaluée à Vrai
--not-string Chaîne correspondant lorsque la requête est évaluée à Faux
--text-only Comparer les pages en se basant uniquement sur le contenu textuel
Techniques:
Ces options permettent d'ajuster les tests de techniques d'injection SQL
spécifiques
--technique TECH Techniques d'injection SQL à utiliser (par défaut "BEST")
--time-sec TIMESEC Secondes de délai pour la réponse du SGBD (par défaut 5)
Énumération:
Ces options permettent d'énumérer les informations du système de gestion
de base de données back-end, sa structure et les données contenues dans
les tables.
-b, --banner Récupérer la bannière du SGBD
--current-user Récupérer l'utilisateur actuel du SGBD
--current-db Récupérer la base de données actuelle du SGBD
--hostname Récupérer le nom d'hôte du serveur SGBD
--dbs Énumérer les bases de données du SGBD
--tables Énumérer les tables de la base de données du SGBD
--columns Énumérer les colonnes des tables de la base de données du SGBD
--count Récupérer le nombre d'entrées pour la/les table(s)
--dump Vider les entrées des tables de la base de données du SGBD
-D DB Base de données du SGBD à énumérer
-T TBL Table(s) de la base de données du SGBD à énumérer
-C COLS Colonne(s) de la table de la base de données du SGBD à énumérer
--start Récupérer les entrées à partir du décalage pour les bases/tables/colonnes/vidage
--stop Récupérer les entrées jusqu'au décalage pour les bases/tables/colonnes/vidage
--sql-shell Invite pour un shell SQL interactif (expérimental)
Exemple:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
L'utilisation de Ghauri pour attaquer des cibles sans consentement mutuel préalable est illégale.
Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, étatiques et fédérales applicables.
Le développeur décline toute responsabilité et n'est pas responsable de tout usage abusif ou dommage causé par ce programme.
Il existe de nombreux articles et messages soulignant les succès des utilisateurs avec Ghauri par rapport à SQLMap. Bien que je ne compare pas directement Ghauri à SQLMap, de nombreux utilisateurs l'ont fait. J'ai initié ce projet car, dans mon travail quotidien, je rencontrais fréquemment des difficultés importantes pour configurer et utiliser SQLMap efficacement, même pour des injections SQL apparemment simples. Malgré leur apparente simplicité, SQLMap échouait souvent à les détecter. Encouragé par un ami, j'ai décidé de créer mon propre outil. J'avais développé de nombreux scripts d'exploitation, chacun adapté à des cas spécifiques, et j'ai réalisé l'intérêt potentiel d'intégrer ces techniques dans un seul module. C'est ainsi qu'est né Ghauri, qui a été bien accueilli par la communauté, recevant des retours positifs et des étoiles grâce à son efficacité.
Même Stamparam a reconnu Ghauri, le décrivant comme une "réécriture des mécanismes internes" dans un tweet, soulignant l'importance de ses mécanismes internes.
Par exemple, vous pouvez enregistrer une requête HTTP vulnérable dans un fichier (une injection SQL derrière une authentification) et la fournir à la fois à Ghauri et à SQLMap en utilisant l'option -r. Les résultats parleront d'eux-mêmes sans nécessiter de configurations personnalisées.
Ghauri fonctionne à la fois de manière similaire à un navigateur et avec ses propres méthodes uniques, en passant automatiquement à différentes techniques d'exfiltration et de contournement. Encore une fois, ce n'est pas une comparaison directe car Ghauri a encore de nombreuses fonctionnalités à implémenter, tandis que SQLMap est déjà riche en fonctionnalités. Cependant, Ghauri remplit systématiquement les tâches requises.
Depuis que j'ai développé cet outil, j'utilise rarement SQLMap, sauf dans quelques cas où Ghauri est encore en cours d'amélioration.
Je vous encourage à l'essayer par vous-même. Merci.
--hostname--update
ghauri --update pour obtenir la
dernière version de ghauri.--ignore-code--count-m (expérimental)--random-agent, --mobile