Qu'est-ce qu'une attaque par injection SQL / vulnérabilité?

FAQ Cette réponse a été écrite par k4thryn:

Une vulnérabilité d'injection SQL peut se produire si un programme mal écrit utilise l'utilisateur a fourni des données dans une requête de base de données sans la validation de la saisie. Ceci est le plus souvent trouvé dans des pages Web avec du contenu dynamique. Il existe d'excellents tutoriels et descriptifs des articles sur ce sujet, ainsi que la vulnérabilité de nombreux messages pour différentes applications de la pleine divulgation des sites Web.

Un exemple simple de l'injection SQL est un formulaire HTML de base de connexion dans lequel vous fournissez un nom d'utilisateur et mot de passe:


	  <form method="post" action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  </ form> 

Compte tenu de cet extrait de code HTML, on peut déduire que le plus facile (et plus) pour le script "process_login.php" à travail serait pour lui permettre de construire et exécuter une requête de base de données qui ressemble à ceci:

	  "SELECT id 
	  DE logins 
	  WHERE username = '$ username' 
	  et le mot de passe = '$ password' "; 

Dans ces conditions, si les variables "$ username" et "$ password" sont directement tirées de la saisie de l'utilisateur, le script de connexion peut facilement être trompés en pensant que un mot de passe valide n'a été fournie en jouant avec la syntaxe de l'instruction SQL. Supposons que la chaîne ont été fournis que le mot de passe:

	  'Ou''=' 

et nous a donné "bob" comme nom d'utilisateur. Une fois les variables sont interpolés, la requête ci-dessus se présente comme suit:

	  "SELECT id 
	  DE logins 
	  WHERE username = 'bob' 
	  et le mot de passe =''ou''=''; 

Cette requête retourne une ligne, car la dernière phrase:

	  ...  =''ou'' 

toujours à une véritable évaluation (une chaîne vide est toujours égale à une chaîne de caractères vide).

Prévention des attaques par injection SQL

Les méthodes les plus communes pour prévenir ce type d'injection SQL sont vunerability l'utilisateur de vérifier l'apport des personnages comme dangereux pour les guillemets simples, et en utilisant des requêtes préparées, qui racontent la base de données exactement à quoi s'attendre avant toute utilisation des données est transmise à celle-ci.

SQL Server Security Mastering SQL Server 2000 Security SQL Server Security Distilled Oracle Security Handbook: Mettre en œuvre un plan de sécurité de son dans votre environnement Oracle
Acheter ces excellents livres sur SQL sécurité à Amazon.com


Top 5 Free Networking Tools

Vulnerability Management for Dummies

Nos amis sont à Qualys offre gratuitement des copies de la version électronique de Vulnerability Management for Dummies de Tech-FAQ lecteurs.

Vulnerability Management for Dummies:

  • Explique le besoin critique de gestion des vulnérabilités
  • Détails sur l'essentiel des meilleures pratiques des mesures de la réussite du programme de gestion des vulnérabilités
  • Présente les différentes solutions de gestion de la vulnérabilité - y compris les avantages et les inconvénients de chaque
  • Faits saillants de l'primé QualysGuard solution de gestion des vulnérabilités
  • Fournit une liste de dix points pour éliminer les vulnérabilités de vos ressources clés
Bookmark Qu'est-ce qu'une attaque par injection SQL / vulnérabilité?

Latest Blog Posts


Anglais Anglais Allemand Allemand Espagnol Espagnol Français Français Italien Italien Portugais Portugais Russe Russe Néerlandais Néerlandais
Grec Grec Hindi Hindi Japonais Japonais Coréen Coréen Chinois Chinois Chinois (simplifié) Chinois (simplifié) Arabe Arabe

Copyright 2009 Tech-FAQ. Tous droits réservés. Politique de confidentialité.