2009-06-02 11 views
10

Czy są tam dokładnie przetestowane biblioteki .NET, aby oczyścić dane wejściowe z takich rzeczy jak iniekcja skryptu/sql?. Biblioteki .NET do odkażania danych wejściowych?

+0

To powinno być 2 różne pytania – fretje

+5

@fretje, to tylko dwa różne pytania, jeśli już wiesz, że nie ma biblioteki, która spełnia obie te funkcje. – DevinB

+0

odkażanie danych wejściowych przed atakami typu sql injection (zwykle wykonywane na poziomie bazy danych za pomocą komend sparametryzowanych) to totalna odmiana ballparkowa niż sanityzacja danych wejściowych przeciwko atakom xss (zwykle wykonywane PRZED zapisaniem danych wejściowych w bazie danych) ... – fretje

Odpowiedz

7

Injection SQL i Cross-Site Scripting (a.k.a. XSS lub Script Injection) to różne problemy.

1) SQL Injection jest bardzo łatwy, zawsze używaj sparametryzowanych zapytań (SQLParameter) i bardzo trudno jest NIGDY wykonać sp_exec @query w obrębie procedur składowanych T-SQL. Kwerendy sparametryzowane w usłudze NetNet nie będą chroniły przed iniekcją drugiego rzędu.

2) XSS jest trudniejsze do powszechnego złagodzenia, ponieważ istnieje wiele miejsc, w których JavaScript można wstawiać do dokumentów HTML. Zalecenia dotyczące korzystania z AntiXSS do kodowania danych użytkownika są już dostępne. Użyj tej biblioteki przed wstawieniem danych użytkownika do dokumentów wyjściowych. Niestety, jeśli używasz kontrolek serwera ASP.Net, kodowanie wszystkich danych może prowadzić do podwójnego kodowania i wyświetlania artefaktów. Dzieje się tak, ponieważ niektóre właściwości kontrolne kodują dane, a inne nie. Zapoznaj się z this table, aby dowiedzieć się, jakie właściwości są domyślnie zakodowane. Użyj Anti-XSS przed przypisaniem do dowolnych właściwości, które nie kodują.

8

Lubię używać Microsoft AntiXSS library. Jest bezpłatny i dość łatwy w użyciu.

Do iniekcji SQL zawsze używam parametrów. Znowu są łatwe w użyciu i nie lubię próbować uciec od znaków specjalnych. To przepis na katastrofę, jeśli mnie zapytasz.

0

Użyłem biblioteki MS Anti XSS. Jest bardzo przydatny i łatwy w użyciu. Spróbuj sam, będziesz zadowolony. Obecna wersja to 4.0.

0

Jeśli używasz programu ASP.NET 4.5, możesz teraz użyć AntiXSS features that ship in the framework.

Są to części zewnętrznej AntiXSS biblioteki, które zostały wprowadzone do ASP.NET 4,5:

  • HtmlEncode, HtmlFormUrlEncode i HtmlAttributeEncode
  • XmlAttributeEncode i XmlEncode
  • UrlEncode i UrlPathEncode (nowy)
  • CssEncode
Powiązane problemy