تُعد البرمجة النصية عبر المواقع المخزنة (Stored XSS) ثغرة ويب خطيرة تسمح بحقن تعليمات برمجية خبيثة في موقع ويب، وتخزينها في قاعدة البيانات، ثم تنفيذها لاحقًا عند قيام مستخدمين آخرين بعرض الصفحة المصابة. في هذه الحالة تحديدًا، توجد الثغرة في صفحة تسجيل دخول المستخدم في نظام إدارة المستشفيات (HMS)، حيث يكون معامل "الاسم الكامل" (Fullname) عرضة لهجمات XSS المخزنة. يؤدي الافتقار إلى التحقق السليم من المدخلات وتنقية البيانات إلى تمكين المهاجم من حقن نصوص برمجية خبيثة، مما قد يعرض حسابات المستخدمين للخطر، أو يسرق معلومات حساسة، أو ينفذ إجراءات غير مصرح بها.
خطوات إعادة الإنتاج (PoC)
استنساخ المستودع:
root@kitploit:~
git clone https://github.com/sharathc213/CVE-2023-7172.git
cd CVE-2023-7172
تشغيل Docker Compose:
root@kitploit:~
docker-compose up -d
الوصول إلى نموذج تسجيل المستخدم:
افتح متصفح الويب وانتقل إلى نموذج تسجيل المستخدم على http://localhost:8080/hms/registration.php
ملء نموذج التسجيل:
أدخل الحمولة التالية في حقل "الاسم الكامل" (Fullname):
انقر على زر "إرسال" (Submit) لإرسال بيانات التسجيل إلى الخادم.
التحقق من نجاح التسجيل:
استلام رسالة تأكيد نجاح التسجيل.
تسجيل الدخول بالبريد الإلكتروني المسجل:
انتقل إلى صفحة تسجيل الدخول على http://localhost:8080/hms/user-login.php.
إدخال البريد الإلكتروني المسجل:
في نموذج تسجيل الدخول، أدخل عنوان البريد الإلكتروني المستخدم في التسجيل.
تسجيل الدخول:
أرسل نموذج تسجيل الدخول بالنقر على زر "تسجيل الدخول" (Log In).
ملاحظة حمولة XSS:
عند تسجيل الدخول بنجاح، يجب أن تؤدي حمولة XSS إلى ظهور مربع تنبيه يعرض ملفات تعريف الارتباط الخاصة بالمستخدم، مما يشير إلى وجود ثغرة XSS المخزنة.
تأثير XSS المخزنة في نظام إدارة المستشفيات
يمكن أن يكون لثغرة XSS المخزنة في نظام إدارة المستشفيات عواقب وخيمة، بما في ذلك:
كشف بيانات المرضى:
احتمال سرقة بيانات المرضى الحساسة لانتحال الهوية أو الاحتيال.
مخاطر سلامة المرضى:
التغييرات غير المصرح بها في سجلات المرضى قد تعرّض سلامة المرضى للخطر.
إجراءات غير مصرح بها:
يمكن للمهاجم تنفيذ إجراءات نيابة عن المستخدمين، مما يؤدي إلى وصول غير مصرح به وإساءة استخدام محتملة.
تآكل الثقة:
الإضرار بسمعة المنشأة الصحية بسبب خرق الثقة.
عدم الامتثال التنظيمي:
انتهاك لوائح حماية البيانات، مما يؤدي إلى غرامات وعواقب قانونية.
تعطيل الخدمات الصحية:
احتمالية حدوث اضطرابات في رعاية المرضى، أو أخطاء في الوصفات الطبية، أو تشخيصات خاطئة ذات آثار صحية خطيرة.
الآثار القانونية والأخلاقية:
المسؤولية القانونية عن أي ضرر ناتج، إلى جانب المخاوف الأخلاقية بشأن خصوصية المرضى.
العواقب المالية:
التكاليف المرتبطة بمعالجة الخرق، بما في ذلك التحقيقات وترقيات الأنظمة والنفقات القانونية.
توصيات التخفيف
لمعالجة هذه الثغرة، نفّذ إجراءات التخفيف التالية:
التحقق من المدخلات وتنقيتها:
تنفيذ إجراءات صارمة للتحقق من المدخلات وتنقية البيانات لضمان خلو المحتوى الذي ينشئه المستخدم من التعليمات البرمجية الخبيثة. يتضمن ذلك التحقق من البيانات على جانبي العميل والخادم.
إخلاء المسؤولية
هذا المشروع معرّض للاختراق عمدًا ويجب استخدامه فقط للأغراض التعليمية والاختبارية. لا تنشره في بيئة إنتاج.