Testez votre site web pour détecter les attaques par injection SQL et évitez qu’il ne soit piraté.

L’injection SQL(SQL Injection) est une ancienne technique par laquelle les pirates exécutent des instructions SQL malveillantes pour prendre le contrôle d’un site web. Elle est considérée comme une vulnérabilité de haute gravité, et le dernier rapport d’Acunetix montre que 8 % des cibles analysées étaient vulnérables à cette vulnérabilité.

acunetix-web-vul-report

Étant donné que la base de données SQL (Structured query language) est prise en charge par de nombreuses plateformes web (PHP, WordPress, Joomla, Java, etc.), elle peut potentiellement cibler un grand nombre de sites web. Il est donc essentiel de s’assurer que votre site web n’est pas vulnérable à l’injection SQL, et ce qui suit vous aidera à trouver s’il y en a.

Remarque: l’exécution d’une injection SQL génère une grande largeur de bande de réseau et envoie un grand nombre de données. Assurez-vous donc d’être le propriétaire du site web que vous testez.

suIP.biz

Detecting SQL Injection flaws online by suIP.biz supporte les bases de données MySQL, Oracle, PostgreSQL, Microsoft SQL, IBM DB2, Firebird, Sybase, etc.

suip

SQLMap permet de tester les six techniques d’injection.

Test d’injection SQL en ligne

Un autre outil en ligne de Hacker Target basé sur SQLMap pour trouver les vulnérabilités basées sur la liaison et l’erreur contre les requêtes HTTP GET.

hacker-target

Invicti

Un scanner de sécurité web complet prêt pour l’entreprise – Invicti fait plus que tester les vulnérabilités SQL. Vous pouvez l’intégrer au SDLC pour automatiser la sécurité web.

netsparker fullscreen

Consultez l’index des vulnérabilités couvertes par l’analyse d’Invicti.

Vega

Vega est un logiciel libre d’analyse de la sécurité qui peut être installé sur Linux, OS X et Windows.

vega

Vega est écrit en Java et est basé sur une interface graphique.

Vous pouvez utiliser Vega pour tester de nombreuses autres vulnérabilités, notamment SQLi:

  • XML /Shell/URL injection
  • Listes de répertoires
  • Inclusion de fichiers à distance
  • XSS
  • Et bien d’autres encore..

Vega est un scanner de sécurité web GRATUIT prometteur.

SQLMap

SQLMap est l’un des outils de test open-source les plus populaires pour effectuer des injections SQL contre un système de gestion de base de données relationnelle.

sqlmap

Sqlmap énumère les utilisateurs, les mots de passe, les hachages, les rôles, les bases de données, les tables, les colonnes et prend en charge le vidage complet des tables de la base de données.

SQLMap est également disponible sur Kali Linux. Vous pouvez consulter ce guide pour installer Kali Linux sur VMWare Fusion.

Scanner d’injection SQL

Un scanner en ligne testé par Pentest-Tools en utilisant OWASP ZAP. Il existe deux options – light (GRATUIT) et full (nécessite un enregistrement).

sql-injection-scanner

Appspider

Appspider de Rapid7 est une solution dynamique de test de sécurité des applications qui permet d’explorer et de tester une application web pour plus de 95 types d’attaques.

appspider

La fonctionunique d’Appspider, appelée validateur de vulnérabilité, permet au développeur de reproduire la vulnérabilité en temps réel.

Cela devient pratique lorsque vous avez remédié à la vulnérabilité et que vous souhaitez effectuer un nouveau test pour vous assurer que le risque a été corrigé.

Acunetix

Acunetix est un scanner de vulnérabilité d’applications web prêt pour l’entreprise, auquel plus de 4000 marques font confiance dans le monde entier. Outre l’analyse de SQLi, l’outil est capable de détecter plus de 6 000 vulnérabilités.

acunetix-sql-scan

Chaque découverte est classée avec des correctifs potentiels, afin que vous sachiez ce qu’il faut faire pour la corriger. En outre, vous pouvez intégrer le système CI/CD et le SDLC, de sorte que chaque risque de sécurité soit identifié et corrigé avant que l’application ne soit déployée en production.

Wapiti

Wapiti est un scanner de vulnérabilités à boîte noire basé sur Python. Il prend en charge un grand nombre de détections d’attaques.

  • SQLi et XPath
  • CRLS et XSS
  • Shellshock
  • Divulgation de fichiers
  • Falsification de requête côté serveur
  • Exécution de commandes

et plus encore.

Il prend en charge les points d’extrémité HTTP/HTTPS, plusieurs types d’authentification tels que Basic, Digest, NTLM et Kerberos. Vous avez la possibilité de générer des rapports d’analyse au format HTML, XML, JSON et TXT.

Scant3r

Un docker ready, scant3r est un scanner léger basé sur Python.

scant3r-demo

Il recherche les XSS, SQLi, RCE, SSTI potentiels dans les en-têtes et les paramètres d’URL.

Que faire ensuite ?

Les outils ci-dessus testeront votre site web et vous indiqueront s’il présente une vulnérabilité par injection de code SQL. Si vous vous demandez comment protéger votre site contre les injections SQL, ce qui suit vous donnera une idée.

Une application web mal codée est souvent à l’origine d’une injection SQL, vous devez donc corriger le code vulnérable. Cependant, une autre chose que vous pouvez faire est d’implémenter le WAF (web application firewall) devant l’application.

Il existe deux façons d’intégrer le WAF à votre application.

  • Intégrer le WAF dans le serveur web – vous pouvez utiliser un WAF comme ModSecurity avec Nginx, Apache, ou WebKnight avec IIS. Cela est possible lorsque vous hébergez votre site web par vos propres moyens, comme dans un Cloud/VPS ou un serveur dédié. Cependant, si vous êtes sur un hébergement partagé, vous ne pouvez pas l’installer.
  • Utilisez un WAF basé sur le cloud – la façon la plus simple d’ajouter une protection de site est probablement de mettre en place un pare-feu de site web. L’avantage est qu’il fonctionne pour n’importe quel site web et que vous pouvez le démarrer en moins de 10 minutes.

Si vous souhaitez en savoir plus sur l’injection SQL, consultez les ressources suivantes.

Découvrez ensuite comment détecter les risques de sécurité dans les bases de données NoSQL.