EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Sécurité arrow Protection arrow En quoi consistent les attaques par injection de code SQL ?
Dimanche 7 sept 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ?  Inscription
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
Jul 25 2006
En quoi consistent les attaques par injection de code SQL ? Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
FaibleMeilleur 
Sécurité - Protection
Ecrit par Kamal AOUDA   
25-07-2006
En quoi consistent les attaques par injection de code SQL ?

Il s’agit d’insérer un code malveillant dans une chaîne de caractère afin de corrompre le contenu d’une base de données ou de subtiliser des informations confidentielles (SQL Server, MySQL, Oracle…). Typiquement le processus d’injection termine prématurément une chaîne de caractère en lui ajoutant une nouvelle commande SQL qui sera exécutée par le gestionnaire de base de données. En d’autres termes, Les injections SQL prennent typiquement la forme de concaténations directes de code dans les données entrées par un utilisateur.


Le code suivant donne un exemple d’injection sous SQL Server (nous rappelons que SQL Server utilise une version Microsoftisée de SQL connue sous le nom Transact SQL).

var Shipcity; ShipCity = Request.form ("ShipCity"); var sql = "select * from OrdersTable where ShipCity = '" + ShipCity + "'";

L'utilisateur est invité à renseigner le nom d'une ville. Si l'utilisateur entre Roco, la requête devient:

SELECT * FROM OrdersTable WHERE ShipCity = 'Roco'

Mais supposons qu’un hacker renseigne ce qui suit :

Roco'; drop table OrdersTable—

Dans ce cas, la requête assemblée par le script devient :

SELECT * FROM OrdersTable WHERE ShipCity = 'Roco';drop table OrdersTable--'

Le point-virgule « ; » indique la fin d'une requête et le début d'une autre. Le double tiret « -- » marque le début d’un commentaire qui sera ignoré par le gestionnaire de base de données. Lorsque SQL Server exécute cette instruction, il y aura une sélection de tous les enregistrements OrdersTable où ShipCity = Roco puis il y aura une suppression pure et simple de la table OrdersTable. Vous imaginez qu’en situation réelle un tel incident pourrait avoir de graves conséquences sur l’activité d’une entreprise.

Tant que le code SQL injecté est syntaxiquement valide, le gestionnaire de base de données n’a aucun moyen de soupçonner qu’il est malicieux. De ce fait, il faut systématiquement valider toutes les données entrées par un utilisateur.

Des techniques permettant de contrer les attaques par voie d’injection SQL sont énumérées dans l'article suivant.
 

Se prémunir contre les attaques par injection de code SQL

Kamal AOUDA

 

Dernière mise à jour : ( 25-07-2006 )
< Précédent   Suivant >
Control and Security of E-Commerce
Control and Security of E-Commerce

Livre complet couvrant les questions relatives à la sécurité du commerce électronique, notamment :

* Les problèmes juridiques posés par l’Ecommerce.
* La sécurité de l’information.
* Les systèmes de cryptographie asymétriques et symétriques.
* Les certificats numériques.
* La protection contre les virus, les trojans et les attaques par dénis de service.
* La sécurité dans les environnement Unix et Windows.
* L’audit des applications de commerce électronique.

 

Références

 

Gordon E. Smith

Disponible en anglais seulement.

 http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0471180904.html
Control and Security of E-Commerce
Gordon E. Smith
ISBN: 0-471-18090-4
240 pages
Novembre 2003

 



Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

Considérez-vous Paypal comme un mode de paiement sécuritaire ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround