Laboratorio Webgoat

Introducción

WebGoat es una aplicación web insegura que permite a los desarrolladores y estudiantes probar vulnerabilidades comunes de seguridad de aplicaciones web. WebGoat es un proyecto de OWASP.

Instalación

Para instalar este laboratorio tenemos diferentes opciones:

  1. Descargar el archivo .jar desde la página oficial de WebGoat y ejecutarlo en nuestra máquina local.

  2. Utilizar Docker para instalar WebGoat en un contenedor.

  3. Utilizar la versión online de WebGoat.

En este caso vamos a utilizar la opción 2, ya que es la más sencilla y rápida.

Para ello, ejecutamos el siguiente comando:

docker run -p 8080:8080 -t webgoat/webgoat-8.0

Una vez ejecutado el comando, abrimos un navegador y accedemos a la dirección http://localhost:8080/WebGoat.

Laboratorio

Una vez que hemos accedido a la aplicación, veremos una pantalla de inicio en la que se nos pide que introduzcamos un usuario y una contraseña. En este caso, es necesario registrarse para poder acceder a la aplicación.

Ahora es posible acceder a la aplicación con el usuario y la contraseña que hemos introducido.

Una vez dentro de la aplicación, veremos una serie de lecciones que podemos realizar para aprender sobre seguridad en aplicaciones web.

Por ejemplo, en la sección general podemos ver una lección llamada “HTTP Basics” donde se nos explica cómo funciona HTTP y cómo podemos interceptar las peticiones y respuestas con un proxy HTTP. en la misma vamos a encontrar la siguiente estructura:

En la parte superior de la pantalla, podemos ver una serie de botones que nos permiten ver pistas, mostrar los parámetros de la solicitud HTTP, las cookies de la solicitud HTTP y el código fuente Java.

En este ejemplo ingresé mi nombre “Diego” y el servidor le dio la vuelta a la cadena y me devolvió “ogeiD”. Tambien podemos observar que el número 2 se cambia a color verde, lo que significa que hemos completado la lección.

Completada la lección 2, podemos pasar a la lección 3 donde tenemos un pequeño quiz sobre HTTP.

The Quiz

What type of HTTP command did WebGoat use for this lesson. A POST or a GET.

What the HTTP command a POST or a GET: POST

What is the magic number: 42

De esta forma vamos analizando este laboratorio y aprendiendo sobre seguridad en aplicaciones web.

Conclusión

WebGoat es una herramienta muy útil para aprender sobre seguridad en aplicaciones web. Nos permite realizar diferentes lecciones y aprender sobre vulnerabilidades comunes en aplicaciones web. Además, es muy fácil de instalar y utilizar, por lo que es una buena opción para principiantes que quieran aprender sobre seguridad en aplicaciones web.

Referencias