SQL injection/fr

Résumé
SQL injection is a type of attack that uses vulnerabilities in an application's input validation or data typing for SQL queries.

Quand cela fonctionne, l'attaque permet à l'assaillant d'injecter des données dans une requête SQL existante. L'attaquant peut ensuite récupérer des données privées, provoquer un déni de service ou d'autres réponses non souhaitées. Dans le pire des cas, le code injecté peut permettre à l'attaquant de prendre le contrôle total du système en exploitant les multiples failles du serveur de base de données, des utilisaires système ou du système d'exploitation.

Pour un aperçu général sur les attaques par injection de SQL, voir la page Injection de SQL de Wikipedia.

Exemple
La portion de code suivante permet à un attaquant d'exécuter ses propres commandes SQL (c'est une erreur de syntaxe dans Oracle).

La manière recommandée d'exécuter la requête ci-dessus est :

To exploit the vulnerability and fetch the email addresses of registered wiki users, the attacker would use a GET string of:



Injection de SQL et MediaWiki
MediaWiki has a custom SQL generation interface which has proven to be effective for eliminating SQL injection vulnerabilities. The SQL generation interface also provides DBMS abstraction and features such as table prefixes.

Pour protéger MediaWiki contre l'injection de SQL


 * avoid using direct SQL queries at all costs
 * review Manual:Database access and use the functions provided in Database.php
 * read the The Open Web Application Security Project's page on SQL injection (http://www.owasp.org/index.php/SQL_Injection)
 * The SQL Injection Wiki: http://www.sqlinjectionwiki.com/