Este proyecto demuestra una simulación de Firewall de Aplicaciones Web (WAF) usando Flask y un comprobador de vulnerabilidades para CVE-2017-5638. El middleware WAF bloquea las solicitudes HTTP que contienen patrones específicos, y el comprobador de vulnerabilidades prueba y explota la vulnerabilidad de Apache Struts 2 (CVE-2017-5638).
Este proyecto demuestra una simulación de un Cortafuegos de Aplicaciones Web (WAF) utilizando Flask y un verificador de vulnerabilidades para CVE-2017-5638. El middleware WAF bloquea solicitudes HTTP que contienen patrones específicos, y el verificador de vulnerabilidades prueba y explota la vulnerabilidad de Apache Struts 2 (CVE-2017-5638).
server.py: Este servidor web basado en Flask incluye un middleware WAF que bloquea solicitudes HTTP que contienen patrones potencialmente maliciosos. vulnerable.py: Este script verifica la vulnerabilidad CVE-2017-5638 y puede ejecutar comandos arbitrarios si el objetivo es vulnerable.
El script server.py configura un servidor web Flask con un middleware WAF que inspecciona las solicitudes entrantes en busca de patrones maliciosos específicos. Si se detecta un patrón bloqueado, la solicitud se deniega con una respuesta 403 Forbidden.
Instalar Flask: pip install flask Ejecutar el servidor: python server.py Acceder al servidor en http://127.0.0.1:5000/.
El script vulnerable.py verifica si una URL determinada es vulnerable a CVE-2017-5638 y puede ejecutar comandos en el servidor vulnerable.
Instalar las librerías requeridas:
pip install requests Verificar si una URL es vulnerable:
python vulnerable.py --url http://example.com --check Ejecutar un comando en una URL vulnerable:
python vulnerable.py --url http://example.com -c "whoami"
El script server.py sirve como una demostración básica de un WAF usando Flask. En un escenario real, se deberían emplear técnicas y patrones más avanzados.