Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3629|Répondre: 1

Utilisez l’outil d’infiltration SQLMAP pour les tests d’injection SQL

[Copié le lien]
Publié sur 17/06/2023 11:10:55 | | | |
Exigences : Utilisez l’outil de test d’intrusion open source sqlmap pour tester les interfaces web à la recherche des risques d’injection. L’injection SQL signifie que l’application web ne juge pas la légitimité des données d’entrée de l’utilisateur ou que le filtrage n’est pas strict, et que l’attaquant peut ajouter des instructions SQL supplémentaires à la fin de l’instruction de requête définie à l’avance dans l’application web, et réaliser des opérations illégales à l’insu de l’administrateur, afin de tromper le serveur de base de données pour qu’il exécute des requêtes arbitraires non autorisées, afin d’obtenir davantage les informations de données correspondantes. En résumé, c’estL’interface backend exécute des instructions SQL en assemblant les paramètres demandés

Révision:

EF 6 exécute des instructions SQL natives, des problèmes d’injection de paramètres
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) exécute des instructions SQL ou des vues, ainsi que des procédures stockées
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters utilise sp_executesql pour exécuter des instructions SQL
https://www.itsvse.com/thread-3111-1-1.html

Livre d’injection SQL - Vulnérabilité ASP Injection Full Contact
https://www.itsvse.com/thread-2305-1-1.html

SQLMAP est un outil de test d’intrusion open source qui automatise le processus de détection et d’exploitation des vulnérabilités d’injection SQL ainsi que la prise de contrôle des serveurs de bases de données. Il est doté d’un puissant moteur de détection, de nombreuses fonctionnalités de niche du testeur de pénétration ultime, ainsi que d’une large gamme de commutateurs, incluant l’empreinte digitale de base de données, la récupération des données à partir de bases de données, l’accès au système de fichiers sous-jacent et l’exécution de commandes sur le système d’exploitation via des connexions hors bande.

SQL Map fonctionne directement et fonctionne sur n’importe quelle plateformePython versions 2.6, 2.7 et 3.x

Construction de l’environnement SQLMAP

Téléchargement Python :La connexion hyperlientérée est visible.



Adresse open source SQLMAP :La connexion hyperlientérée est visible.
Documentation des commandes SQLMAP :La connexion hyperlientérée est visible.

D’abord, l’ordinateur doit installer Python (omis), puis utiliser la commande git pour télécharger le code source, comme suit :



Options:

-h, --aide Afficher le message d’aide basique et quitter -----Afficher le message d’aide basique et quitter
-hh Afficher un message d’aide avancé et sortir -----
--version pour voir le numéro de version----------- Afficher le numéro de version du programme et quitter
-v VERBOSÉ niveau de détail (0-6, valeur par défaut 1) --Niveau de verbosité : 0-6 (par défaut 1)

Cible:

Au moins une des options suivantes doit être définie pour déterminer l’URL cible, à savoir : Au moins une des options suivantes doit être incluse dans la commande d’opération SQLMap pour l’utiliser normalement

-d Chaîne de connexion DIRECT pour la connexion directe à la base de données-------------------
-u URL, --url=URL URL cible --------------------- URL cible (par exemple « http://www.site.com/vuln.php?id=1 »)
-l LOGFILE Analyse la cible à partir du fichier journal proxy Burp ou WebScarab ---- la cible à partir du fichier journal d’un Burp ou d’un autre proxy
-x SITEMAPURL analyse la cible à partir du fichier remotemap(.xml) --Analyse la cible à partir du fichier remote sitemap(.xml)
Numériser plusieurs cibles données dans un fichier textuel -------- BULKFILE
-r REQUESTFILE Charger une requête HTTP depuis un fichier ---------------Charger une requête HTTP depuis un fichier
-g GOOGLEDORK Processus résultats de Google dork comme URL ciblées ---
-c CONFIGFILE Charger les options depuis un fichier INI de configuration -------------- Charger les options depuis un fichier INI de configuration

Demander:

Les options suivantes spécifient comment se connecter à l’URL de destination

--method=METHOD Force l’utilisation d’une méthode HTTP donnée (par exemple PUT------------------
--data=DATA Chaîne de données à envoyer via POST en utilisant la méthode POST------------------
--param-del=PARA..  Définissez le symbole pour séparer les valeurs des paramètres-------------------- Caractère utilisé pour la séparation des valeurs des paramètres
--cookie=COOKIE spécifie la valeur HTTP du cookie ---------------------- la valeur de l’en-tête HTTP du cookie
--cookie-del=COO..  Caractère utilisé pour diviser les valeurs des cookies ------------------

Lors du test d’un point d’injection avec SQLMAP, vous pouvez utiliser le paramètre -v x pour spécifier la complexité de l’information d’écho, qui va de [0~6] à 7 niveaux, avec un défaut de 1.

0 : Seules les erreurs Python sont affichées ainsi que les informations critiques.
1 : Afficher à la fois les informations de base et les informations d’avertissement. (par défaut)
2 : Afficher les informations de débogage en même temps.
3 : La charge utile injectée est affichée en même temps.
4 : Afficher les requêtes HTTP en même temps.
5 : Afficher l’en-tête de réponse HTTP en même temps.
6 : Afficher la page de réponse HTTP en même temps.

ASP.NET Configuration de l’environnement d’injection de cœurs

Créer un nouveau projet web avec ASP.NET Core, écrire une interface par injection, et le code source est le suivant :


Interface de test :



Tests d’intrusion couramment utilisés

Énumérer les bases de données SGBD

Et utilisez le profil SQL Server pour capturer l’exécution du SQL, comme montré dans la figure suivante :



select * from [Users] où [Username] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(SELECT name FROM master.. sysdatabases POUR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Énumérer les tables de la base de données spécifiée

La commande est la suivante :



Pour les requêtes HTTP complexes, vous pouvezvia le paramètre -r(Chargement des requêtes HTTP depuis des fichiers,Utilisez l’outil Burp Suite pour capturer les requêtes HTTP des paquets) pour charger la requête HTTP originale à partir d’un fichier texte. Cela vous permet de sauter l’utilisation de nombreuses autres options (par exemple, paramètres de cookies, données publiées, etc.).

SQL est puissant, consultez la documentation pour des fonctionnalités plus avancées. (Fin)




Précédent:EF 6 exécute des instructions SQL natives, des problèmes d’injection de paramètres
Prochain:[Transfert] vers MySQL Advanced : commande d’optimisation de table
 Propriétaire| Publié sur 17/06/2023 11:21:41 |
Changez pour ce qui suit, il n’y a aucun risque d’injection SQL :

Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com