Pruebas de seguridad: piratería de aplicaciones web

Existen varias metodologías / enfoques que podemos utilizar como referencia para realizar un ataque.

Aplicación web - Metodologías PenTesting

Se pueden tener en cuenta los siguientes estándares al desarrollar un modelo de ataque.

Entre la siguiente lista, OWASP es la más activa y hay varios contribuyentes. Nos centraremos en las técnicas de OWASP que cada equipo de desarrollo tiene en cuenta antes de diseñar una aplicación web.

  • PTES - Estándar de ejecución de pruebas de penetración

  • OSSTMM - Manual de metodología de pruebas de seguridad de código abierto

  • Técnicas de prueba de OWASP: protocolo abierto de seguridad de aplicaciones web

Top 10 de OWASP

El equipo del Protocolo de seguridad de aplicaciones web abiertas publicó las 10 principales vulnerabilidades que son más frecuentes en la web en los últimos años. A continuación se muestra la lista de fallas de seguridad que son más frecuentes en una aplicación basada en web.

Aplicación: práctica

Para entender cada una de las técnicas, trabajemos con una aplicación de muestra. Realizaremos el ataque a 'WebGoat', la aplicación J2EE que se desarrolla explícitamente con fallas de seguridad con fines de aprendizaje.

Los detalles completos sobre el proyecto webgoat se pueden encontrar https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project. Para descargar la aplicación WebGoat, vaya ahttps://github.com/WebGoat/WebGoat/wiki/Installation-(WebGoat-6.0) y vaya a la sección de descargas.

Para instalar la aplicación descargada, primero asegúrese de que no tiene ninguna aplicación ejecutándose en el puerto 8080. Puede instalarse con un solo comando: java -jar WebGoat-6.0.1-war-exec.jar. Para obtener más detalles, visite Instalación de WebGoat

Después de la instalación, deberíamos poder acceder a la aplicación navegando a http://localhost:8080/WebGoat/attack y la página se mostraría como se muestra a continuación.

Podemos usar las credenciales de invitado o administrador como se muestra en la página de inicio de sesión.

Proxy web

Para interceptar el tráfico entre el cliente (navegador) y el servidor (sistema donde está alojada la aplicación Webgoat en nuestro caso), necesitamos usar un proxy web. Usaremos Burp Proxy que se puede descargar desdehttps://portswigger.net/burp/download.html

Es suficiente si descarga la versión gratuita de burp suite como se muestra a continuación.

Configuración de Burp Suite

Burp Suite es un proxy web que puede interceptar cada paquete de información enviado y recibido por el navegador y el servidor web. Esto nos ayuda a modificar los contenidos antes de que el cliente envíe la información al Web-Server.

Step 1- La aplicación se instala en el puerto 8080 y Burp se instala en el puerto 8181 como se muestra a continuación. Inicie Burp suite y realice los siguientes ajustes para que aparezca en el puerto 8181 como se muestra a continuación.

Step 2- Debemos asegurarnos de que Burp esté escuchando el puerto # 8080 donde está instalada la aplicación para que Burp suite pueda interceptar el tráfico. Esta configuración debe realizarse en la pestaña de alcance de Burp Suite como se muestra a continuación.

Step 3- Luego, configure el proxy de su navegador para escuchar el puerto 8181 (puerto Burp Suite). Por lo tanto, hemos configurado el proxy web para interceptar el tráfico entre el cliente (navegador) y el servidor (servidor web) como se muestra a continuación:

Step 4 - La instantánea de la configuración se muestra a continuación con la ayuda de un diagrama de flujo de trabajo simple como se muestra a continuación