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.
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