2009-06-02 9 views
10

¿Existen bibliotecas .NET probadas para desinfectar las entradas de cosas como script/sql injection?.NET bibliotecas para desinfectar la entrada?

+0

esto debería ser 2 preguntas diferentes – fretje

+5

@fretje, son solo dos preguntas diferentes si ya sabes que no hay una biblioteca que haga ambas cosas. – DevinB

+0

desinfección de entrada contra ataques de inyección sql (usualmente hecho a nivel de base de datos mediante el uso de comandos parametrizados) es un estadio diferente que desinfección de ataques xss (generalmente hecho ANTES de guardar la entrada en la base de datos) ... – fretje

Respuesta

7

La inyección SQL y Cross-Site Scripting (por ejemplo, XSS o Script Injection) son problemas diferentes.

1) SQL Injection es muy fácil, siempre use consultas parametrizadas (SQLParameter) y trate realmente de NUNCA hacer sp_exec @query dentro de los procedimientos almacenados de T-SQL. Las consultas parametrizadas .Net no protegerán contra esta inyección de segundo orden.

2) XSS es más difícil de mitigar universalmente ya que hay tantos lugares en los que se puede insertar JavaScript en los documentos HTML. Las recomendaciones para usar AntiXSS para codificar datos de usuario están correctas. Utilice esta biblioteca antes de insertar datos de usuario en documentos de salida. Desafortunadamente, si está utilizando controles de servidor ASP.Net, la codificación de todos los datos puede dar lugar a una doble codificación y mostrar artefactos. Esto sucede porque algunas propiedades de control codifican datos mientras que otras no. Consulte this table para conocer las propiedades codificadas de manera predeterminada. Use Anti-XSS antes de asignar cualquier propiedad que no codifique.

5

Use parameterised commands, en lugar de tratar de desinfectar cadenas, para protegerse contra la inyección de SQL.

8

Me gusta usar el Microsoft AntiXSS library. Es gratis y bastante fácil de usar.

Para inyección SQL, siempre uso parámetros. De nuevo, son fáciles de usar y no me gusta tratar de escapar de los personajes especiales. Es una receta para el desastre si me preguntas.

0

He utilizado la biblioteca MS Anti XSS. Es muy útil y fácil de usar. Pruébelo usted mismo, lo disfrutará. La versión actual es 4.0.

0

Si está utilizando ASP.NET 4.5 ahora puede usar el AntiXSS features that ship in the framework.

Estas son las partes de la Biblioteca AntiXSS externo que se han incorporado en ASP.NET 4.5:

  • HtmlEncode, HtmlFormUrlEncode, y HtmlAttributeEncode
  • XmlAttributeEncode y XmlEncode
  • UrlEncode y UrlPathEncode (nuevo)
  • CssEncode
Cuestiones relacionadas