‹ بازگشت به کتابخانه‌ی رایت‌آپ‌ها
Cross-Site Scripting (XSS) شدت: بحرانی

XSS ذخیره‌شده (Stored) در بخش نظرات کاربران

وقتی یک payload XSS در دیتابیس ذخیره و برای هر کاربری که صفحه را باز می‌کند اجرا می‌شود.

نویسنده: تیم PentesterHub

برخلاف XSS بازتابی، نسخه‌ی ذخیره‌شده نیازی به فریب قربانی ندارد؛ کافی است مهاجم یک‌بار payload را در جایی مثل بخش نظرات، نام نمایشی یا بیوگرافی پروفایل ذخیره کند. از آن پس، هر کاربری که آن صفحه را ببیند (از جمله ادمین‌ها) آسیب می‌بیند.

نحوه‌ی شناسایی

چرا خطرناک‌تر از نسخه‌ی بازتابی است

اگر قربانی یک ادمین با دسترسی به پنل مدیریت باشد، این نوع XSS می‌تواند مستقیماً به تصاحب کامل پنل منجر شود — بدون هیچ تعامل اضافی از ادمین غیر از باز کردن یک صفحه‌ی عادی.

راه‌حل

Sanitize کردن HTML ورودی با یک کتابخانه‌ی استاندارد (نه regex دستی) در زمان ذخیره یا نمایش، به‌همراه escape خروجی مناسب context و CSP.

تمرین عملی در آزمایشگاه‌های Cross-Site Scripting (XSS) ›