یک آسیبپذیری از نوع Reflected Cross-Site Scripting (XSS) با شناسه CWE-79 در پارامتر Search در فایل /abs.php از نرمافزار Blood_Bank_Management_System نسخه 1.0.0 شناسایی شده است. این نقص امنیتی به مهاجم اجازه میدهد تا بدون نیاز به احراز هویت (Unauthenticated)، اسکریپتهای مخرب خود را به مرورگر قربانی تزریق کند.
جزئیات فنی و نحوه حمله
مهاجم برای بهرهبرداری از این آسیبپذیری، باید یک URL دستکاری شده شامل کد مخرب در پارامتر جستجو ایجاد کرده و آن را از طریق روشهایی مانند مهندسی اجتماعی (Social Engineering) یا فیشینگ (Phishing) برای قربانی ارسال کند. کلید اصلی این حمله، تعامل کاربر (User Interaction) است؛ به این معنا که آسیبپذیری تنها زمانی فعال میشود که کاربر روی لینک ساخته شده کلیک کند. پس از کلیک، اسکریپت در بستر (Context) نشست (Session) کاربر در مرورگر اجرا میشود که میتواند منجر به سرقت کوکیها یا دستکاری رابط کاربری (UI Manipulation) شود.
با وجود اینکه کد اکسپلویت (Exploit Code) به صورت عمومی در دسترس است، اما تاکنون شواهدی مبنی بر بهرهبرداری فعال (Active Exploitation) از این آسیبپذیری در محیطهای عملیاتی گزارش نشده است. همچنین، از آنجایی که این پروژه یک ابزار متنباز با کاربرد محدود است، سطح ریسک کلی آن پایین ارزیابی میشود.
تأثیر و ریسک
- تأثیر بر محرمانگی (Confidentiality): ندارد.
- تأثیر بر در دسترس بودن (Availability): ندارد.
- تأثیر بر یکپارچگی (Integrity): سطح پایین (Low)؛ محدود به نشست کاربر در مرورگر.
راهکارهای مقابله و رفع آسیبپذیری
از آنجایی که توسعهدهنده هنوز پاسخی به گزارشهای امنیتی نداده و وصلهای (Patch) رسمی منتشر نشده است، اقدامات زیر توصیه میشود:
- کدنویسی امن: اعمال HTML-context output encoding بر روی پارامترهای ورودی در فایل
/abs.phpبرای جلوگیری از اجرای اسکریپتهای تزریق شده. - استفاده از WAF: پیکربندی قوانین در Web Application Firewall برای مسدود کردن رشتههای حاوی تگهای اسکریپت در Query Stringها.
- کنترل دسترسی: محدود کردن دسترسی به اپلیکیشن از طریق شبکه داخلی یا VPN برای کاهش سطح حمله (Attack Surface).
- تنظیمات امنیتی مرورگر: استفاده از فلگهای
HttpOnlyوSameSiteبرای کوکیها و پیادهسازی یک سیاست امنیتی محتوا (Content-Security-Policy یا CSP) سختگیرانه.