Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Proteger Ataques de Secuencias de Comandos

Nuestros ethical hackers explican como evitar vulnerabilidades de seguridad mediante la configuración segura en ASP.NET al proteger la aplicación de ataques de secuencias de comandos. Este tipo de vulnerabilidades se puede evitar realizando validaciones adecuadas, aquí te mostramos cómo.

Necesidad

Proteger frente a ataques mediante secuencia de comandos.

Contexto

A continuación se describe las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se está desarrollando una aplicación en ASP.NET.

Solución

  1. La mayoría de los exploits de script se producen cuando los usuarios pueden obtener el código ejecutable (o script) en la aplicación. De forma predeterminada, ASP.NET proporciona validación de solicitudes, que genera un error si un envío de formulario contiene código HTML. Se puede ayudar a proteger contra los ataques mediante scripts de las siguientes maneras:

    1. Realizar la validación de parámetros de variables de formulario, variables de cadena de consulta y los valores de cookies. Esta validación debe incluir dos tipos de verificación: Verificación de compatibilidad de conversión de datos: verificar que una variable se pueda convertir a un entero, convertir un día en horas, minutos, segundos, por mencionar algunos ejemplos. La segunda verificación se realiza sobre los rangos esperados o el formato. Por ejemplo, una variable de envío de formulario que se pretende que sea un número entero se debe comprobar con el método Int32.TryParse para verificar la variable realmente es un número entero. Además, el entero resultante deben ser evaluado para verificar que el valor se encuentre dentro de un rango esperado de valores.

    2. Aplicar codificación HTML para salida de cadena al escribir los valores de vuelta a la respuesta. Esto ayuda a asegurar que cualquier cadena de entrada proporcionada por el usuario se muestra como texto estático en los exploradores en lugar de código ejecutable ni elementos HTML interpretados.

  2. La codificación HTML del framework HttpUtility convierte los elementos HTML con caracteres HTML reservados de modo que se muestran en lugar de ejecutarse. Para aplicar la codificación HTML a una cadena: Antes de mostrar cadenas, llame al método HtmlEncode. Elementos HTML se convierten en representaciones de cadena que el navegador mostrará en lugar de interpretar como HTML. El siguiente ejemplo ilustra la codificación HTML. En el primer caso, la entrada del usuario se codifica antes de ser mostrados. En el segundo caso, los datos de una base de datos se codifican antes de ser publicados.

    command-seq-protection.cs
    1
    2
    3
    4
    Private void Button1_Click(object sender, System.EventArgs e){
      Label1.Text = Server.HtmlEncode(TextBox1.Text);
      Label2.Text = Server.HtmlEncode(dsCustomers1.Customers[0].CompanyName);
    }
    

De esta forma, se previenen las inyecciones de código HTML en las entradas de la aplicación, mejorando la seguridad general del sistema.

Descargas

Puedes descargar el código fuente pulsando en el siguiente enlace:

Clase Protecthtmli.




Haz un comentario

Estado de los servicios - Términos de Uso