Test d’injection de requêtes SQL

Les attaques d’injection SQL consistent à insérer ou à « injecter » une requête SQL via les entrées envoyées par le client à l’application. Une attaque réussie de ce type peut être utilisée pour lire des informations sensibles provenant d’une base de données, les modifier ou les supprimer. Dans les cas les plus extrêmes, il permet d’émettre des commandes système.


Voici un morceau de code dangereux permettant une attaque d’injection SQL :

Sélectionnez * FROM users WHERE name = userName;

La variable "userName" est extraite de l’utilisateur. Si l’attaquant indique comme nom d’utilisateur l’expression 'OR' 1 '='1', cela vous fera choisir le nom d’utilisateur correct, car l’expression '1' = '1' est toujours vraie.


Pour tester la vulnérabilité d’injection, vous pouvez utiliser un outil appelé txtmap, qui est automatiquement capable de trouver et d’utiliser la possibilité d’injecter des requêtes SQL. Il prend en charge six techniques d’injection de données: basées sur la logique, les aveugles, les erreurs, les requêtes UNION, les requêtes cumulatives et les attaques OOB. Permet d’attaquer les bases de données My Sql, Oracle, Postgre Sql, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, H SQL ET Informix .


La figure ci-dessous présente un exemple d’utilisation d’une application de txtmapqui, à l’aide de tests heuristiques, a détecté que, dans une requête testée, le paramètre id peut être vulnérable à une attaque par injection.

exemple d’utilisation d’une application

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Pour marque-pages : Permaliens.

Podziel się swoją opinią na temat artykułu