
Questo progetto dimostra una simulazione di Web Application Firewall (WAF) utilizzando Flask e un verificatore di vulnerabilità per CVE-2017-5638. Il middleware WAF blocca le richieste HTTP contenenti pattern specifici, e il verificatore di vulnerabilità testa e sfrutta la vulnerabilità Apache Struts 2 (CVE-2017-5638).
Questo progetto dimostra una simulazione di Web Application Firewall (WAF) utilizzando Flask e un controllore di vulnerabilità per CVE-2017-5638. Il middleware WAF blocca le richieste HTTP contenenti pattern specifici, e il controllore di vulnerabilità verifica e sfrutta la vulnerabilità Apache Struts 2 (CVE-2017-5638).
server.py: Questo server web basato su Flask include un middleware WAF che blocca le richieste HTTP contenenti pattern potenzialmente dannosi. vulnerable.py: Questo script verifica la presenza della vulnerabilità CVE-2017-5638 e può eseguire comandi arbitrari se il target è vulnerabile.
Lo script server.py configura un server web Flask con un middleware WAF che ispeziona le richieste in arrivo alla ricerca di pattern dannosi specifici. Se viene rilevato un pattern bloccato, la richiesta viene negata con una risposta 403 Forbidden.
Installa Flask: pip install flask Esegui il server: python server.py Accedi al server all'indirizzo http://127.0.0.1:5000/.
Lo script vulnerable.py verifica se un dato URL è vulnerabile a CVE-2017-5638 e può eseguire comandi sul server vulnerabile.
Installa le librerie richieste:
pip install requests Verifica se un URL è vulnerabile:
python vulnerable.py --url http://example.com --check Esegui un comando su un URL vulnerabile:
python vulnerable.py --url http://example.com -c "whoami"
Lo script server.py funge da dimostrazione base di un WAF utilizzando Flask. In uno scenario reale, dovrebbero essere impiegate tecniche e pattern più avanzati.