GNU/Linux >> Tutoriales Linux >  >> Linux

WebGoat le enseña a corregir fallas de aplicaciones web en tiempo real

¡Buenos días, desarrolladores web! Hoy, vamos a hablar sobre una aplicación súper útil que le enseña lecciones de seguridad de aplicaciones web. Saluda a WebGoat , una aplicación web deliberadamente insegura desarrollado por OWASP , con la intención de enseñar cómo solucionar fallas comunes de aplicaciones web en tiempo real con ejercicios prácticos. Esta aplicación puede ser bastante útil para aquellos que quieran aprender sobre seguridad de aplicaciones y técnicas de pruebas de penetración.

Una advertencia: WebGoat es PURAMENTE CON FIN EDUCATIVO . Hace que su sistema sea extremadamente vulnerable a los atacantes. Entonces, insisto en que lo use en una máquina virtual en su red de área local. No conecte su máquina de prueba a Internet. ¡Has sido advertido!

Cómo implementar WebGoat

WebGoat se puede implementar con Docker o como una aplicación independiente. Dado que es puramente para fines educativos y de aprendizaje, prefiero usarlo en Docker.

Instalar Webgoat usando Docker

Consulte los siguientes enlaces para instalar Docker si aún no lo ha instalado.

  • Cómo instalar Docker en CentOS
  • Cómo instalar Docker en Ubuntu

Después de instalar Docker, ejecute el siguiente comando para implementar WebGoat.

$ docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Asia/Kolkata webgoat/goatandwolf:v8.2.2

Reemplace la zona horaria con la suya propia en el comando anterior.

Este comando extraerá la última imagen acoplable de WebGoat e iniciará las instancias de WebGoat y webwolf en pocos minutos. Una vez que haya comenzado, verá una salida similar a la siguiente.

[...]
2017-12-05 11:22:50,132 INFO - FrameworkServlet 'mvc-dispatcher': initialization completed in 533 ms
2017-12-05 11:22:50,171 INFO - Initializing main webgoat servlet
2017-12-05 11:22:50,173 INFO - Browse to http://localhost:8080/WebGoat and happy hacking!
Dec 05, 2017 11:22:50 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]

Una vez que se inicia la imagen de la ventana acoplable, puede acceder a las interfaces de la página de destino, WebGolf y WebWolf en las siguientes URL.

  • La página de destino:http://localhost
  • Panel de WebGoat - http://localhost:8080/WebGoat
  • Interfaz WebWolf - http://localhost:9090/WebWolf

Instalar Webgoat como aplicación independiente

Asegúrate de haber instalado Java . Luego, descargue la última versión de WebGoat desde la página de lanzamientos .

Finalmente, inicie WebGoat como se muestra a continuación.

$ java -Dfile.encoding=UTF-8 -jar webgoat-server-8.2.2.jar [--server.port=8080] [--server.address=localhost] [--hsqldb.port=9001]
$ java -Dfile.encoding=UTF-8 -jar webwolf-8.2.2.jar [--server.port=9090] [--server.address=localhost] [--hsqldb.port=9001]

Ahora es el momento de corregir las vulnerabilidades. Como mencioné anteriormente, desconecte Internet antes de comenzar a usarlo.

Cómo corregir fallas de aplicaciones web en tiempo real usando WebGoat

Abra su navegador web y vaya a http://localhost:8080/WebGoat o http://dirección IP:8080/WebGoat . Verá con la siguiente pantalla.

Inicie sesión con:webgoat/webgoat . Este es el inicio de sesión administrativo. También puede usar una cuenta de usuario normal:invitado/invitado .

Ahora, accederá a la sección de descripción general de WebGoat, donde encontrará varias instrucciones sobre cómo trabajar con WebGoat para corregir fallas y vulnerabilidades comunes de una aplicación web.

Como puede ver, hay muchas categorías de lecciones en el panel izquierdo. Haga clic en una categoría para ver las lecciones incluidas.

Por ejemplo, déjame elegir Fallos de inyección -> Inyección de comando plan de lección.

Como puede ver, hay 5 pestañas para la lección seleccionada.

  1. Mostrar fuente - Esto mostrará el código fuente de Java subyacente.
  2. Mostrar solución - Esto mostrará la solución completa de la lección seleccionada.
  3. Mostrar plan - Esto mostrará metas y objetivos de la lección.
  4. Mostrar sugerencias - Esto mostrará sugerencias técnicas para resolver la lección.
  5. Reiniciar lección - Si desea reiniciar una lección, puede usar este enlace.

Haga clic en cada lección e intente resolver la lección y, si es necesario, use las pistas. Si no puede resolver la lección usando las sugerencias, vea la solución para obtener detalles completos.


Linux
  1. ¿Qué hace cuando una aplicación no está empaquetada para su distribución de Linux?

  2. Varnish Cache:un acelerador de aplicaciones web en CentOS

  3. Varnish Cache:un acelerador de aplicaciones web en CentOS

  4. Apache vs Nginx:qué servidor web debe elegir

  5. Una introducción a los firewalls de aplicaciones web para administradores de sistemas Linux

¿Por qué ve el error:no se encontró el complemento "xyz"?

20 cosas esenciales que debe saber si está en el servidor web Nginx

Apache vs Nginx:¿Qué servidor web es el mejor para usted?

¿Qué es un WAF (cortafuegos de aplicaciones web)? Tipos de WAF

Migrar una aplicación .NET desde Amazon Web Services

Migrar una aplicación web Java desde Amazon Web Services