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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/redyank/cve-2026-29780
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالاستغلالأمن الويب
GitHubredyank/cve-2026-29780

CVE-2026-29780

يُظهر ثغرة اجتياز المسار في سكربت مثال رسمي لمحلل eml-parser، مما يسمح بكتابة ملفات عشوائية عبر أسماء مرفقات مُصممة بعناية، مع تضمين إثبات المفهوم (PoC) والإصلاح.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة اجتياز المسار في السكربت المثال الرسمي تؤدي إلى كتابة ملفات عشوائية

الملخص

يحتوي السكربت المثال الرسمي examples/recursively_extract_attachments.py على ثغرة اجتياز المسار (Path Traversal) تسمح بكتابة ملفات عشوائية خارج دليل الإخراج المقصود. يتم استخدام أسماء ملفات المرفقات المستخرجة من رسائل البريد الإلكتروني المُحلَّلة مباشرةً لبناء مسارات ملفات الإخراج دون أي تنقية، مما يسمح لاسم ملف يتحكم فيه المهاجم بالهروب من الدليل المستهدف.

التفاصيل

الملف: examples/recursively_extract_attachments.py الأسطر: 61–64

root@kitploit:~
for a in m['attachment']:
    out_filepath = out_path / a['filename']  # No sanitization
    print(f'\tWriting attachment: {out_filepath}')
    with out_filepath.open('wb') as a_out:
        a_out.write(base64.b64decode(a['raw']))

القيمة a['filename'] يتحكم فيها المهاجم عبر ترويسات مرفقات البريد الإلكتروني المُصمَّمة بعناية:

root@kitploit:~
Content-Disposition: attachment; filename="../outside/pwned.txt"

لا يتم إجراء أي تطبيع للمسار أو التحقق من الحدود قبل الكتابة.

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

  1. أنشئ ملف .eml خبيث:
root@kitploit:~
Content-Disposition: attachment; filename="../outside/pwned.txt"
  1. شغّل السكربت المثال:
root@kitploit:~
python recursively_extract_attachments.py -p ./emails -o ./safe
  1. المتوقع: ./safe/pwned.txt
  2. الفعلي: ./outside/pwned.txt ← يُكتب خارج الدليل المقصود

تم التحقق على Kali Linux مع تثبيت eml-parser عبر pip في بيئة افتراضية.

التأثير

تقتصر هذه الثغرة على السكربت المثال فقط ولا تؤثر على مكتبة eml-parser الأساسية. ومع ذلك، نظرًا لأن السكربت جزء من المستودع الرسمي ومن المرجح أن يتم تكييفه للاستخدام في الإنتاج، يمكن للمهاجم الذي يقدم بريدًا إلكترونيًا مُصمَّمًا بعناية تحقيق كتابة ملفات عشوائية ضمن سياق التنفيذ.

تشمل سيناريوهات الهجوم المحتملة:

  • حقن مهام cron: filename="../../etc/cron.d/backdoor"
  • رفع شل ويب: filename="../../var/www/html/shell.php"
  • حقن مفاتيح SSH: filename="../../home/user/.ssh/authorized_keys"

الإصلاح الموصى به

root@kitploit:~
import os.path

for a in m['attachment']:
    filename = os.path.basename(a['filename'])
    out_filepath = out_path / filename

    if not out_filepath.resolve().is_relative_to(out_path.resolve()):
        print(f'[!] Skipping suspicious filename: {a["filename"]}')
        continue

    print(f'\tWriting attachment: {out_filepath}')
    with out_filepath.open('wb') as a_out:
        a_out.write(base64.b64decode(a['raw']))
تنزيل الأداة