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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
LibPNG_OSS-Fuzz — مشروع بحث أمني حول اختبار (fuzzing) libpng باستخدام OSS-Fuzz. يتضمن تحليل مجموعة البذور (seed corpus)، وأدوات اختبار مخصصة للقراءة/الكتابة، واستغلال برهان المفهوم لـ CVE-2014-9495. | Kitploit
أدوات/GitHubGitHub/enessar/libpng_oss-fuzz
تحليل الثغرات الأمنيةتحليل الكودالاستغلالالاختبار العشوائيتحليل الملفات الثنائيةالتعلم والتعليم
GitHubenessar/libpng_oss-fuzz

LibPNG_OSS-Fuzz

مشروع بحث أمني حول اختبار (fuzzing) libpng باستخدام OSS-Fuzz. يتضمن تحليل مجموعة البذور (seed corpus)، وأدوات اختبار مخصصة للقراءة/الكتابة، واستغلال برهان المفهوم لـ CVE-2014-9495.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

تحليل الاختبارات العشوائية (Fuzzing) وتحليل الثغرات في مكتبة libpng

مشروع بحثي أمني جماعي

حول Fuzzing: تُعد تقنية الاختبارات العشوائية (Fuzzing) أسلوبًا آليًا لاختبار البرمجيات يتم فيه توفير بيانات غير صالحة أو غير متوقعة أو عشوائية كمدخلات للبرنامج لاكتشاف الأخطاء والثغرات. ويستخدم الاختبار العشوائي الموجه بالتغطية (Coverage-guided fuzzing) التغذية الراجعة من تغطية الكود لاستكشاف مسارات تنفيذ مختلفة بذكاء.

حول OSS-Fuzz: OSS-Fuzz هي خدمة الاختبارات العشوائية المستمرة من Google للبرامج مفتوحة المصدر. تستخدم محرك LibFuzzer وغيره من محركات الاختبار العشوائي لاختبار المشاريع مفتوحة المصدر الهامة تلقائيًا والإبلاغ عن الثغرات.

يعرض هذا المشروع تقنيات الاختبار العشوائي الموجه بالتغطية، وتحليل تغطية الكود، واستغلال الثغرات باستخدام إطار العمل OSS-Fuzz من Google على مكتبة libpng.

الهدف: libpng v1.6.48 (للاختبار العشوائي)، v1.5.20 (للاستغلال)

للاطلاع على المنهجية التفصيلية والتقرير الكامل: راجع report.pdf
للحصول على التعليمات الكاملة: راجع Instructions.md


ملخص النتائج

الجزء 1: تحليل تأثير مجموعة البذور (Seed Corpus)

المقياسمع مجموعة البذوربدون مجموعة البذورالتحسين
تغطية الأسطر41.83%24.76%+17.07%
تغطية الفروع35.49%21.03%+14.46%
تغطية الدوال50.75%34.75%+16.00%

مقارنة التغطية

الجزء 3: تحسينات أداة الاختبار المخصصة

التحسين 1 - أداة قراءة محسنة (submit_improve1)

  • تغطية الأسطر: 33.02% ← 34.08% (+1.06%)
  • إضافة استدعاءات لواجهة برمجة تطبيقات التحويل (transformation API) في PNG واختبار حالات الحافة
  • +74 سطرًا في pngread.c، +73 سطرًا في pngtrans.c

التحسين 2 - أداة الكتابة (submit_improve2)

  • إنشاء أداة اختبار جديدة لـ ترميز PNG (عمليات الكتابة)
  • دوال الكتابة: 0% ← 30–50% تغطية
  • تغطية 1,270 سطرًا إضافيًا من الكود غير المختبر سابقًا

مقارنة التغطية 2

الجزء 4: استغلال CVE-2014-9495

تم استغلال تجاوز سعة المخزن المؤقت في الكومة (heap buffer overflow) في libpng v1.5.20 بنجاح:

  • تجاوز عدد صحيح (integer overflow) في معالجة PNG المتداخلة Adam7
  • إثبات المفهوم (PoC) يؤدي إلى اكتشاف AddressSanitizer
  • السكربت: part4/run.poc.sh

الإنجازات

  • تأثير مجموعة البذور: تحسين التغطية بنسبة +17%
  • أدوات مخصصة: نوعان جديدان (أداة قراءة محسنة + أداة كتابة)
  • تغطية جديدة: +1,270 سطرًا من الكود غير المختبر سابقًا
  • استغلال ثغرة: إثبات مفهوم ناجح لـ CVE-2014-9495

هيكل المشروع

root@kitploit:~
├── part1/               # تحليل تأثير مجموعة البذور
│   ├── run.w_corpus.sh         # التشغيل مع مجموعة البذور
│   ├── run.w_o_corpus.sh       # التشغيل بدون مجموعة البذور
│   └── report/                 # تقارير التغطية
├── part3/               # تحسينات أدوات الاختبار المخصصة
│   ├── improve1/               # أداة قراءة محسنة
│   └── improve2/               # أداة كتابة جديدة
└── part4/               # استغلال CVE-2014-9495
    ├── run.poc.sh              # تشغيل الاستغلال
    └── write_exploit.c         # كود إثبات المفهوم

بدء سريع

root@kitploit:~
# Part 1: Fuzzing experiments (4 hours each)
cd part1
./run.w_corpus.sh    # or ./run.w_o_corpus.sh

# Part 3: Test improvements (4 hours each)
cd part3/improve1 && ./run.improve1.sh
cd part3/improve2 && ./run.improve2.sh

# Part 4: Exploit CVE
cd part4 && ./run.poc.sh

عرض تقارير التغطية:

root@kitploit:~
firefox part1/report/w_corpus/linux/index.html

أعضاء الفريق

تم إكمال مشروع البحث الأمني هذا بالتعاون بين كل من:

  • مهدي عطا الله
  • راسين مسعدة
  • يانيك كروني
  • يوناثان لانزمان
تنزيل الأداة