آسیبپذیری سرقت ایمیلهای کاربر در Axigen WebMail یافت شد. Axigen WebMail یک میل سرور پریمیوم و مقیاس پذیر برای Telcos،ISP ها، ارائه دهندگان میزبانی و غیره است که در برخی سازمانها مانند وزارتخانه، بانک، دانشگاه و ... استفاده میشود. این آسیبپذیری امکان اجرای XSS رفلکتت (Reflected cross-site scripting) و تزریق HTML را فراهم میسازد و بهدلیل عدم پاکسازی پارامترهای پرس و جو URL (URL query parameters) قبل از قرار گرفتن در بدنه پاسخ HTTP (HTTP Response body) که منجر به اسکریپت بین سایتی (XSS) می شود، بوجود میآید. یک مهاجم میتواند از این نقص برای ایجاد پیوندی (link) استفاده کند که وقتی قربانی بر روی آن کلیک میکند، به محتوای صندوق پستی (mailbox) دسترسی پیدا کرده، آن را بازیابی کند و ایمیلهای کاربر را سرقت نماید.
نمونه پیلود برای XSS:
نمونه پیلود برای HTML Injection:
همچنین بهدلیل 0-Day بودن آسیبپذیری شناسه و شدت آن منتشر نشده است.
نسخههای تحت تاثیر این آسیبپذیری شامل آخرین نسخه (در حال حاضر 10.5.0–4370c946) و نسخههای قدیمیتر Axigen WebMail میشود.
برای برطرف سازی این آسیب پذیری:
• نسخههای آسیبپذیر بهروزرسانی شود.
• به هیچ ورودی از کاربر اعتماد نکنید. تمام ورودیهای کاربر غیرقابل اعتماد تلقی شود.
• بسته به محل استفاده از ورودی کاربر، از یک تکنیک escaping/encoding مناسب استفاده شود: HTML escape, JavaScript escape, CSS escape, URL escape و غیره. از یک کتابخانه قابل اعتماد و تأیید شده برای تجزیه و پاکسازی HTML استفاده شود. کتابخانه بسته به زبان توسعه انتخاب شود، برای مثال HtmlSanitizer برای.NET یا SanitizeHelper برای Ruby on Rails
• پرچم HttpOnly را برای کوکیها تنظیم کنید.
• از یک سیاست امنیت محتوا (CSP) استفاده شود.
• برنامههای کاربردی وب بطور مرتب اسکن شوند.
• از هدرهای پاسخ مناسب Content-Type و X-Content-Type-Options، استفاده شود. تا اطمینان حاصل شود که مرورگرها پاسخها را به روشی که شما میخواهید تفسیر میکنند.
• از URL های جاوا اسکریپت اجتناب شود.
• از XSS مبتنی بر DOM جلوگیری شود.
• از سیستم Auto-Escaping Template استفاده شود.
• از فریمورک های مدرن JS به درستی استفاده شود.
• هدر X-XSS-Protection توسط مرورگرهای مدرن منسوخ شده است و استفاده از آن میتواند مسائل امنیتی بیشتری را در سمت مشتری ایجاد کند. به این ترتیب، توصیه میشود برای غیرفعال کردن XSS Auditor، هدر به صورت X-XSS-Protection:0 تنظیم شود و اجازه داده نشود که رفتار پیش فرض مرورگر که پاسخ را مدیریت میکند، گرفته شود.
• HTML مقادیر JSON درزمینه HTML کدگذاری شود و دادهها با JSON.parse خوانده شود.
• اسکریپت باید متاکاراکترها را از ورودی کاربر فیلتر کند.
• این نوع حمله تزریق زمانی اتفاق می افتد که ورودی و خروجی به درستی تأیید نشده باشند. بنابراین قانون اصلی برای جلوگیری از حمله HTML اعتبارسنجی مناسب داده است.
• هر ورودی باید بررسی شود که آیا حاوی کد اسکریپت یا کد HTML است. اگر کد حاوی هر اسکریپت خاص یا براکت های HTML باشد، باید بررسی گردد- <script></script>, <html></html>
• تست امنیتی خوب، به کمک اسکنر یا بصورت دستی، نیز بخشی از پیشگیری است.
منابع و مراجع
- 297