
CVE-2023-50164 Un attaccante può manipolare i parametri di upload dei file per consentire il path traversal e, in determinate circostanze, ciò può portare al caricamento di un file dannoso che può essere utilizzato per eseguire Remote Code Execution. Si consiglia agli utenti di aggiornare alle versioni Struts 2.5.33 o Struts 6.3.0.2 o successive per risolvere il problema.
È stata trovata una vulnerabilità di sicurezza critica, identificata come CVE-2023-50164 (CVE: 9.8), in Apache Struts, che consente agli aggressori di manipolare i parametri di upload dei file, potenzialmente portando a traversal di percorso non autorizzato e esecuzione remota di codice (RCE).
Una semplice applicazione di test è stata sviluppata per l'analisi della CVE
Per prima cosa, costruisci l'applicazione usando il comando docker build:
docker build -t exploitable -f DOCKERFILE .
Quindi, esegui l'applicazione usando il comando docker run:
docker run -p 8080:8080 exploitable
In questo caso puoi raggiungere l'app sulla porta 8080
Puoi distribuirla su Tomcat o qualsiasi altro servlet, oppure eseguirla con mvn jetty:run. In questo caso puoi raggiungere l'app sulla porta 9999. Lo script di exploit funziona solo quando l'app è distribuita su Tomcat poiché il percorso di sfruttamento prevede il caricamento di una webshell WAR. Tuttavia, molti altri percorsi di sfruttamento possono funzionare nel caso della stessa vulnerabilità in base alle tecnologie utilizzate e ad altre circostanze.
Installa i pacchetti PIP:
pip install requests requests_toolbelt
Quindi, puoi modificare il percorso in base all'URL della tua applicazione ed eseguire il comando seguente:
python exploit.py --url http://localhost:8080/upload.action
Si consiglia di eseguire l'applicazione e l'exploit su un host Windows. A volte l'exploit potrebbe non funzionare su sistemi basati su *nix.
Questo script di exploit è stato creato per scopi di ricerca. Non è destinato ad essere utilizzato per attività dannose o non autorizzate.