Dans le cadre d’audits, d’évaluations et de pentests orientés vers les applications web qui exploitent des bases de données, les vulnérabilités de type « SQL Injection » (SQLi) ou « Blind SQL Injection » (BSQLi) font parties de celles les plus courante et les plus dévastatrices.
Cette famille de vulnérabilités est très prisée par les assaillants. Par le biais de telles failles, des bases de données complètes peuvent être compromises, contenant notamment des identifiants/mots de passe/adresse mail de clients.
L’OWASP classe ces injections en première position dans son Top Ten. Tous les jours de nombreux sites sont compromis par ces vecteurs d’attaques, dont des banques, des réseaux sociaux, des sites de commerce ou même gouvernementaux.
Pour un auditeur/pentester, il est nécessaire de se maintenir au courant des derniers vecteurs d’attaques pour telle ou telle base de données. Chaque base de données (MySQL, MSSQL, Oracle…) dispose d’une syntaxe, de fonctions et de procédures qui leurs sont propres, facilitant ou restreignant les attaques potentielles.
ASafety vous propose un condensé mis au goût du jour, s’inspirant de nombreuses sources de qualités et jugées de références de part le web. Ces « cheat sheet‘ synthétisent les techniques les plus communes comme les plus exotiques pour mener à bien une exploitation d’injection SQL lors d’un audit et/ou pentest.
Chaque spécificité propre à une base de données est décrite, avec des exemples de syntaxes ou d’utilisation à l’appui. Tous les PoC ont été testés par nos soins et validés sur les dernières versions en date des bases de données.
Ces dossiers relatifs aux bases de données sont centralisés sur la page « SQL Injection » d’ASafety. Une multitude de sources documentaires est présente pour chacun d’eux, en plus des développements réalisés par nos soins.
A l’heure actuelle de la rédaction de cet article, les cheat sheet d’SQL Injection des bases suivantes ont été réalisés :
D’autres bases de données seront ajoutées par la suite.
Pour toutes corrections ou améliorations, n’hésitez pas à nous contacter.