2009-04-01 4 views
0

J'ai lu sur diverses attaques de type injection, et il semble que le meilleur moyen de se débarrasser de ces vulnérabilités est d'encoder toutes les entrées utilisateur pour supprimer/remplacer certains caractères avec d'autres (<>; etc).Toutes les bonnes bibliothèques de codage de sécurité pour .NET là-bas?

Quel est mon meilleur pari ici? Y a-t-il de bonnes bibliothèques pour m'aider? Ou quelque chose qui pourrait m'aider à repérer des vulnérabilités potentielles? - Ou sont les expressions régulières mon meilleur pari? :)

Merci beaucoup

+0

Dupe de: http: //stackoverflow.com/questions/188870/how-to-use-c-to-sanitize-input-on-an-html-page – NotMe

+0

Merci pour ce lien. Recherché avant de publier ofc, mais n'a pas trouvé que :) – cwap

+0

Ce n'est pas une dupe mais cette question est sur la suppression de choses que vous recherchez correctement encoder les données en fonction de l'emplacement de sortie qui est différent, et la réponse de l'autre sujet n'est pas sûr le temps. Donc, vous ne devriez pas compter sur cette réponse non plus. –

Répondre

4

Jetez un coup d'œil au AntiXSS library.

+0

wow .. qui a l'air génial: S ne peut pas croire que ce n'est pas plus hype si elle fait réellement ce qu'ils disent le faire :) – cwap

2

Le Server dans les cas ASP.NET Page (accessible via Page à savoir this) propose une méthode HtmlEncode() qui devrait suffire à prévenir les attaques XSS.

Par défaut, sans l'autoriser explicitement dans web.config ou via une directive de page, ASP.NET rejettera toute entrée suspecte avec une page d'erreur.

2

OWASP Antisamy et OWASP ESAPI. Parmi ceux-ci, je voterais pour ESAPI, puisque j'ai utilisé la version Java de ESAPI pour prévenir les attaques XSS. Gardez à l'esprit que le codage HTML simple des données n'empêchera pas XSS. The context of the data is important as well - vous devrez échapper JavaScript si vous le générez dynamiquement et l'injectez dans la réponse sur le serveur.

0

Récemment, j'ai regardé ESAPI.NET et le projet semble incomplet et peut-être inactif - en particulier par rapport à l'ensemble java.

Anti-XSS ne couvre qu'un sous-ensemble de la portée d'ESAPI et, en effet, ESAPI.NET utilise AntiXSS (mais pas le dernier) pour le codage. Tout commentaire attestant de l'utilité de ESAPI.NET serait utile.

Questions connexes