Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/ch4r0nn/cve-2025-14855-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقتطوير الحمولات
GitHubch4r0nn/cve-2025-14855-poc

CVE-2025-14855-POC

SureForms <= 2.2.0 - تخزين ثنائي عبر الموقع بدون مصادقة

عرض المستودع
212منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-14855: إثبات المفهوم لثغرة XSS المخزنة في إضافة SureForms لووردبريس

  • الهدف: إضافة WordPress "SureForms"
  • إضافة WordPress: https://wordpress.org/plugins/sureforms/
  • نوع الثغرة: Cross-Site Scripting المخزنة (XSS)
  • CVE: CVE-2025-14855
  • المصدر: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/sureforms/sureforms-220-unauthenticated-stored-cross-site-scripting
  • المصادقة: غير مصادق (ضيف/عام)
  • التأثير: تنفيذ عن بعد للأوامر (RCE) عبر اختطاف جلسة المسؤول
  • مكتشف من قبل: https://nguyentiendung1006.wixsite.com/tiendung

1. ملخص

توجد ثغرة XSS مخزنة خطيرة في إضافة SureForms. تنشأ الثغرة من تنفيذ غير آمن من جانب العميل في ملف entries.js حيث يتم فك تشفير (عكس التعقيم من جانب الخادم) إدخال المستخدم برمجيًا ثم عرضه باستخدام dangerouslySetInnerHTML دون تعقيم مناسب من جانب العميل. وهذا يسمح للمهاجمين غير المصادقين بحقن حمولات جافا سكريبت ضارة عبر حقول النموذج القياسية، متجاوزين مرشحات الافتراضية لووردبريس.

wp_kses

2. تحديد الإصدار

للتحقق مما إذا كان الموقع المستهدف يشغل إضافة SureForms، افحص رأس ملف الترجمة الذي يحتوي عادةً على رقم الإصدار.

الرابط المستهدف: http://target-site.com/wp-content/plugins/sureforms/languages/sureforms.pot

أمر التحقق:

root@kitploit:~
curl -s "http://target-site.com/wp-content/plugins/sureforms/languages/sureforms.pot" | grep "Project-Id-Version"

3. الهندسة العكسية وتحليل السبب الجذري

توجد الثغرة في واجهة الإدارة القائمة على React والتي تعرض إدخالات النموذج (ملف entries.js).

3.1. منطق "فك التشفير التلقائي" (التجاوز)

في ملف entries.js المصغر، توجد دالة مساعدة (تم تحديدها كـ Xv في البناء الذي تم تحليله) مصممة للتعامل مع كيانات HTML.

منطق الكود (معاد بناؤه):

root@kitploit:~
// Function Xv: Pre-processing field values
var Xv = function(input) {
    var value = input.value;
    
    // VULNERABILITY ROOT CAUSE:
    // If the string contains HTML entities (e.g., &lt;), create a textarea,
    // inject the content, and extract the value. 
    // This effectively DECODES HTML entities back to raw HTML tags.
    // Example: "&lt;img ...&gt;" becomes ""
    
    if (typeof value === "string" && value.match(/&[a-zA-Z0-9#]+;/)) {
        var textarea = document.createElement("textarea");
        textarea.innerHTML = value;
        
        // Logic to revert sanitization
        if (textarea.value.includes("&lt;") || textarea.value.includes("&gt;")) {
             value = textarea.value; // Now 'value' contains RAW HTML
        }
    }
    return { ...input, value: value };
}

التحليل: تقوم هذه الدالة بتعطيل أمان الخلفية. حتى لو قام ووردبريس بتخزين <script> بشكل صحيح كـ &lt;script&gt; في قاعدة البيانات، تقوم هذه الدالة بتحويله مرة أخرى إلى <script> فور جلبه من API.

3.2. الحوض الخطير

بعد فك التشفير، يتم تمرير البيانات إلى مكون العرض (تم تحديده كـ Jv).

منطق الكود (معاد بناؤه):

root@kitploit:~
// Function Jv: Rendering the field
var Jv = function(props) {
    var field = props.field;
    var val = field.value; // This value is now raw HTML (post-decoding)

    // THE TRIGGER: Check if the string looks like HTML
    if (typeof val === "string" && val.match(/<[^>]+>/g)) {
        // THE SINK: Render using dangerouslySetInnerHTML WITHOUT client-side sanitization (e.g., DOMPurify)
        return React.createElement("span", {
            dangerouslySetInnerHTML: { __html: val }
        });
    }
    
    // Safe render for non-HTML text
    return React.createElement("span", null, val);
}

4. تدفق الهجوم

  1. الحقن: يرسل مهاجم غير مصادق نموذجًا في الواجهة الأمامية. بدلاً من استخدام علامات HTML الخام (التي سيتم تجريدها/تعقيمها بواسطة خلفية ووردبريس)، يرسل المهاجم كيانات HTML.

  2. التخزين: يرى ووردبريس الإدخال (مثل &lt;img...) كنص آمن ويخزنه في قاعدة البيانات.

  3. التنفيذ (الفخ):

    • ينتقل المسؤول إلى SureForms > الإدخالات.
    • يقوم المتصفح بجلب تفاصيل الإدخال عبر API بتنسيق JSON.
    • تكتشف دالة Xv الكيانات وتفك تشفير &lt;img... إلى ` الإدخالات.
  4. انقر على الإدخال المرسل في الخطوة 1 لعرض التفاصيل.

  5. النتيجة: سيقوم المتصفح بتنفيذ حمولة جافا سكريبت (alert('XSS_SUREFORMS')).

تنزيل الأداة