Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cómo Proteger Una Aplicacion Web Frente Ataques HTML
Cómo Proteger Una Aplicacion Web Frente Ataques HTML
Este tema an no ha recibido ninguna valoracin - Valorar este tema La mayora de los ataques mediante secuencias de comandos se producen cuando los usuarios pueden introducir cdigo ejecutable (o secuencias de comandos) en la aplicacin. De forma predeterminada, ASP.NET proporciona validacin de solicitudes, con lo que se provoca un error si un formulario recibido contiene cdigo HTML. Es posible contribuir a la proteccin contra los ataques mediante secuencias de comandos de los modos siguientes:
Realice la validacin de parmetros en variables de formulario, en variables de cadena de consulta y en valores de cookies. Esta validacin debe incluir dos tipos de comprobacin: que las variables se pueden convertir al tipo esperado (por ejemplo, a entero, fecha-hora, etc.) y que el formato o los intervalos son los esperados. Por ejemplo, una variable de formulario recibido diseada para ser un entero debera comprobarse con el mtodo System.Int32.TryParse para determinar si es realmente un entero. Adems, se debera comprobar el entero resultante para determinar si el valor se encuentra dentro un intervalo esperado. Aplique codificacin HTML al resultado de cadena cuando se vuelvan a escribir valores para la respuesta. As se garantiza que cualquier entrada de cadena proporcionada por el usuario se represente como texto esttico en los exploradores, y no como cdigo de secuencias de comandos ejecutables ni elementos HTML interpretados.
La codificacin HTML convierte los elementos HTML que usan caracteres HTML reservados de forma que se muestren en lugar de ejecutarse.
Antes de mostrar cadenas, llame al mtodo HtmlEncode. As, los elementos HTML se convertirn en representaciones de cadenas que el explorador mostrar en lugar de interpretarlas como cdigo HTML ejecutable. En el ejemplo siguiente se ilustra la codificacin HTML. En el primer caso, la entrada del usuario se codifica antes de mostrarse. En el segundo caso, los datos de una base de datos se codifican antes de mostrarse.
Nota Este ejemplo slo funcionar si deshabilita la validacin de solicitudes en la pgina agregando el atributo de @ Page ValidateRequest="false". No es recomendable deshabilitar la validacin de solicitudes en aplicaciones de produccin, por lo que deber asegurarse de volver a habilitar la validacin de solicitudes despus de ver este ejemplo. VB Copiar
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles Button1.Click Label1.Text = Server.HtmlEncode(TextBox1.Text) Label2.Text = _ Server.HtmlEncode(dsCustomers.Customers (0).CompanyName) End Sub
C# Copiar
private void Button1_Click(object sender, System.EventArgs e) { Label1.Text = Server.HtmlEncode(TextBox1.Text);
Vea tambin
Conceptos Informacin general sobre los ataques mediante secuencias de comandos Informacin general sobre las amenazas para la seguridad de las aplicaciones Web Procedimientos de seguridad bsicos para aplicaciones Web
http://msdn.microsoft.com/es-es/library/a2a4yykt(v=vs.80).aspx