Pruebas de seguridad: ejecución de archivos maliciosos

Los desarrolladores a menudo usan o concatenan directamente entradas potencialmente vulnerables con archivos o asumen que los archivos de entrada son genuinos. Cuando los datos no se verifican correctamente, esto puede llevar a que el servidor web procese o invoque el contenido vulnerable.

Ejemplo

Algunos de los ejemplos clásicos incluyen:

  • Cargue el archivo .jsp en el árbol web.
  • Sube .gif para cambiar su tamaño.
  • Sube archivos enormes.
  • Cargue el archivo que contiene etiquetas.
  • Cargue el archivo .exe en el árbol web.

Las manos en

Step 1- Inicie WebGoat y navegue hasta la sección de ejecución de archivos maliciosos. La instantánea del escenario se da a continuación:

Step 2 - Para completar esta lección, necesitamos cargar guest.txt en la ubicación mencionada anteriormente.

Step 3- Creemos un archivo jsp de manera que el archivo guest.txt se cree al ejecutar jsp. El nombre del jsp no tiene ningún papel que desempeñar en este contexto ya que estamos ejecutando el contenido del archivo jsp.

<HTML> 
   <% java.io.File file = new 
      java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt"); 
      file.createNewFile(); %> 
</HTML>

Step 4- Ahora cargue el archivo jsp y copie la ubicación del enlace del mismo después de cargarlo. La carga espera una imagen, pero estamos cargando un archivo jsp.

Step 5 - Navegando hasta el archivo jsp, no habrá ningún mensaje para el usuario.

Step 6 - Ahora actualice la sesión donde ha subido el archivo jsp y obtendrá el mensaje que dice, "* Felicitaciones. Ha completado con éxito la lección".

Mecanismos preventivos

  • Sitios web seguros mediante permisos de sitios web.
  • Adopte contramedidas para la seguridad de las aplicaciones web.
  • Comprender las cuentas de grupo y usuario integradas en IIS 7.0.