2009-04-01 7 views
0

Lesen Sie sich auf verschiedene injektionsartige Angriffe, und es scheint, als wäre der beste Weg, um diese Schädlichkeiten loszuwerden, Codierung aller Benutzereingaben zum Entfernen/Ersetzen von einigen Zeichen mit anderen (<>; etc).Gibt es gute Sicherheitscodierungsbibliotheken für .NET?

Was ist meine beste Wette hier? Gibt es irgendwelche Bibliotheken, die mir dabei helfen? Oder etwas, das mir helfen könnte, potenzielle Schädigungen zu erkennen? - Oder sind reguläre Ausdrücke meine beste Wette? :)

Vielen Dank

+0

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

+0

Danke für diesen Link. Gesucht vor dem Posten von OFC, aber nicht gefunden :) – cwap

+0

Es ist nicht ein Betrüger obwohl diese Frage über das Entfernen von Sachen, was Sie für die richtige Codierung Daten entsprechend Ausgabeort suchen, die unterschiedlich ist, und die Antwort des anderen Subjekts eigentlich nicht alle sichern die Zeit. Sie sollten sich also auch nicht auf diese Antwort verlassen. –

Antwort

4

Werfen Sie einen Blick auf die AntiXSS library.

+0

wow .. das sieht gut aus: S kann nicht glauben, dass es nicht mehr gehyped ist, wenn es tatsächlich tut, was sie sagen, es tut :) – cwap

2

Die Server in ASP.NET Page Instanzen (über Page heißt this) eine HtmlEncode() Methode bietet, die ausreichen sollten XSS-Angriffe zu verhindern.

Standardmäßig lehnt ASP.NET jede verdächtige Eingabe mit einer Fehlerseite ab, ohne sie explizit in web.config oder über eine Seitenanweisung zuzulassen.

2

OWASP Antisamy und OWASP ESAPI.

Davon würde ich für ESAPI stimmen, da ich die Java-Version von ESAPI verwendet habe, um XSS-Angriffe zu verhindern. Beachten Sie, dass die einfache HTML-Codierung von Daten XSS nicht verhindert. The context of the data is important as well - Sie müssen JavaScript entkommen, wenn Sie es dynamisch generieren und es in die Antwort auf dem Server einfügen.

0

Vor kurzem habe ich bei ESAPI.NET gesucht und das Projekt scheint unvollständig und vielleicht inaktiv - vor allem im Vergleich mit dem Java-Paket.

Anti-XSS deckt nur eine Teilmenge des ESAPI-Bereichs ab, und tatsächlich verwendet ESAPI.NET AntiXSS (wenn auch nicht das neueste) für die Kodierung.

Alle Kommentare, die auf die Nützlichkeit von ESAPI.NET hinweisen, wären hilfreich.