Attaque par Injection SQL de prévention: où dois-je commencer
Je cherche à rendre mon site sécurisé contre les attaques par injection SQL. Quelqu'un at-il de bons liens pour rendre le site sécurisé contre ces types d'attaques dans un ASP.NET site (c#, web forms)?
EDIT:
Je me dois de souligner au j'utilise Entity Framework
Dans le fond, Oded déjà souligné, elle se résume à l'arrêt de la concaténation de votre SQL - surtout si cela implique des données saisies par l'utilisateur dans les zones de texte et utiliser requêtes paramétrées, dans ADO.NET.
C'est facile. La plupart d'injection vulns viennent de code qui ressemble à ceci:
var myQuery="SELECT something FROM somewhere WHERE somefield="+userSuppliedData;//execute myQuery against db//now suppose userSuppliedData=="'';DROP TABLE somewhere;"
Si vous êtes à rouler à la main les instructions sql comme ceci, vous êtes à risque. Envisager l'utilisation d'un ORM ou des requêtes paramétrées.
La première et la meilleure ligne de défense est de ne pas utiliser SQL dynamique.
Toujours utiliser les requêtes paramétrées.
Prendre un coup d'oeil à la OWASP page sur l'Injection SQL.
OriginalL'auteur Oded
Voir les ressources suivantes:
Comment: Protéger contre l'Injection SQL dans ASP.NET (MSDN)
Données de Sécurité: Arrêt des Attaques par Injection SQL Avant de Vous Arrêter
Les Attaques par Injection SQL et Quelques Conseils sur la Façon de les Prévenir
La prévention de l'Injection SQL dans ASP.NET
Dans le fond, Oded déjà souligné, elle se résume à l'arrêt de la concaténation de votre SQL - surtout si cela implique des données saisies par l'utilisateur dans les zones de texte et utiliser requêtes paramétrées, dans ADO.NET.
OriginalL'auteur marc_s
Ont un coup d'oeil ici:
Bobby Tables: Un guide de prévention de l'injection SQL
OriginalL'auteur Thomas Levesque
C'est une excellente série qui couvre le top 10 des menaces de sécurité pour les applications web et la façon de les atténuer à l'aide de ASP.net: http://www.troyhunt.com/2010/05/owasp-top-10-for-net-developers-part-1.html
Bon point - Ajout -> troyhunt.com/2011/12/free-ebook-owasp-top-10-for-net.html
OriginalL'auteur Zach Green
C'est facile. La plupart d'injection vulns viennent de code qui ressemble à ceci:
Si vous êtes à rouler à la main les instructions sql comme ceci, vous êtes à risque. Envisager l'utilisation d'un ORM ou des requêtes paramétrées.
OriginalL'auteur spender
Utiliser des procédures stockées avec des paramètres et d'éviter inline SQL si possible...
OriginalL'auteur Tim
obtenir les données par l'intermédiaire des paramètres comme:
OriginalL'auteur Ubaid Ur Rahman