Maison >base de données >tutoriel mysql >Partagez cinq célèbres outils d'analyse des vulnérabilités par injection SQL
Un grand nombre d'entreprises modernes adoptent des applications Web pour se connecter de manière transparente avec leurs clients, mais en raison d'un codage incorrect, de nombreux problèmes de sécurité sont causés. Les vulnérabilités des applications Web peuvent permettre aux pirates informatiques d'accéder directement à des informations sensibles (telles que des données personnelles, des informations de connexion, etc.).
Les applications Web permettent aux visiteurs de soumettre des données et de récupérer des données à partir d'une base de données sur Internet. La base de données est le cœur de la plupart des applications Web. La base de données conserve les données que l'application Web utilise pour fournir un contenu spécifique aux visiteurs. L'application Web obtient également des données de la base de données lors de la fourniture d'informations aux clients et aux fournisseurs.
L'attaque par injection SQL est la technique d'attaque d'application Web la plus courante, qui tente de contourner les commandes SQL. Lorsque la saisie utilisateur n'est pas « nettoyée », si cette saisie est effectuée, elle présentera une vulnérabilité d'injection SQL.
La vérification des vulnérabilités d'injection SQL implique principalement deux aspects, l'un consiste à auditer l'application Web de l'utilisateur et l'autre est la meilleure façon d'effectuer un audit à l'aide d'un scanner d'injection SQL automatisé. Ici, l'auteur répertorie quelques scanners d'injection SQL qui sont précieux pour les développeurs d'applications Web et les auditeurs de sécurité professionnels.
1. SQLIer
SQLIer peut trouver une URL avec une vulnérabilité d'injection SQL sur le site Web et générer une vulnérabilité d'injection SQL en fonction des informations pertinentes. , mais cela ne nécessite pas d'interaction de l'utilisateur. De cette façon, il peut générer une requête UNION SELECT, qui peut ensuite être utilisée pour attaquer par force brute les mots de passe de la base de données. Ce programme n'utilise pas de guillemets lors de l'exploitation de la vulnérabilité, ce qui signifie qu'il peut être adapté à une variété de sites Web.
Mot de passe fort SQLIer via une vulnérabilité d'injection SQL "vrai/faux". À l'aide du mot de passe fort de vulnérabilité d'injection SQL « vrai/faux », les utilisateurs ne peuvent pas interroger les données de la base de données. Ils peuvent uniquement interroger une instruction qui peut renvoyer des valeurs « vraies » et « fausses ».
Selon les statistiques, un mot de passe de huit caractères (y compris n'importe quel caractère du code décimal ASCII) ne prend qu'environ 1 minute à déchiffrer.
La syntaxe d'utilisation est la suivante, sqlier [options] [URL]
Les options sont les suivantes :
-c :[主机] 清除主机的漏洞利用信息 -s :[秒]在网页请求之间等待的秒数 -u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。 -w:[选项]将[选项]交由wget 此外,此程序还支持猜测字段名,有如下几种选择: --table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。 --user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。 --pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。
Ce qui suit est son utilisation de base :
Par exemple, supposons qu'il existe une vulnérabilité d'injection SQL dans l'URL suivante :
example.com/sqlihole.php?id=1
Nous exécutons la commande suivante :
sqlier -s 10 example.com/sqlihole.php?id=1
pour obtenir suffisamment d'informations de la base de données pour profiter de son mot de passe, où le chiffre « 10 » signifie attendre 10 secondes entre chaque requête.
Si les noms de la table, du champ de nom d'utilisateur et du champ de mot de passe sont correctement devinés, le programme d'exploitation soumettra le nom d'utilisateur à la requête et se préparera à attaquer par force brute le mot de passe de la base de données.
sqlier -s 10 example.com -u BCable,administrator,root,user4
Cependant, si le nom du champ/table intégré ne devine pas le nom de champ correct, l'utilisateur peut exécuter :
sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]
À moins que le nom de table correct, nom d'utilisateur champ et nom du champ de mot de passe, SQLIer ne peut pas attaquer par force brute le mot de passe de la base de données.
2. SQLMap :
Il s'agit d'un outil d'injection SQL "aveugle" automatique développé avec python , qui effectue un système de gestion de base de données dynamique qui permet une énumération complète des bases de données distantes. L'objectif est de mettre en œuvre un outil de système de gestion de base de données entièrement fonctionnel, capable d'exploiter toutes les failles de la programmation d'applications Web pouvant conduire à des vulnérabilités d'injection SQL.
Une fois que SQLMap a détecté une ou plusieurs vulnérabilités d'injection SQL sur le système cible, l'utilisateur peut choisir parmi plusieurs options pour effectuer une empreinte complète du système de gestion de base de données back-end et récupérer les utilisateurs et les bases de données, en énumérant les utilisateurs. , hachages de mots de passe, bases de données, exécution de ses propres instructions SQL SELECT, lecture de fichiers spécifiques sur le système de fichiers, etc.
Ce logiciel prend entièrement en charge les systèmes de gestion de bases de données back-end tels que MySQL, Oracle, PostgreSQL, Microsoft SQL Server, etc. De plus, il reconnaît également la base de données Access de Microsoft, ainsi que DB2, Informix, Sybase, Interbase, etc.
La méthode d'utilisation est la suivante :
sqlmap.py [选项] {-u <URL> | -g <google dork> | -c <配置文件>} 其中,-u URL指明目标URL -g google dork 将google dork结果处理为目标url
3 SQLID :
Cet outil est une injection SQL. L'exploration de vulnérabilités est un utilitaire de ligne de commande qui peut trouver les vulnérabilités d'injection SQL et les erreurs courantes sur les sites Web. Il peut effectuer plusieurs opérations : rechercher des vulnérabilités d'injection SQL dans des pages Web, tester les formulaires soumis et rechercher la possibilité de vulnérabilités d'injection SQL. Il prend également en charge HTTP, HTTPS, l'authentification de base, etc.
Son utilisation est la suivante :
Sqid.rb [Option]
Les options sont les suivantes :
-m,--mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。
Parmi elles, le google option du mode de recherche Il existe les situations suivantes : -q, --quary query, QUERY exécute la recherche Google ; -s, --start START, zéro index pour le premier résultat requis -r, --results RESULTS, spécifiez le numéro requis ; des résultats requis, la valeur par défaut est 20.
4. Injecteur de puissance SQL
SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。
其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。
其工作状态如图:
五、SQLNinja:
Sqlninja可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:
-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;
其它的命令选项,-v : 指明进行详细输出;-f:指明一个使用的配置文件。-w指明以强力攻击模式使用的单词列表。
如图是运行过程界面:
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本下载
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!