CodeShot
Midسختی 2 از ۵· در 25٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت Stored XSS و Reflected XSS چیست؟

نشان کردن

پاسخ کوتاه

در Stored XSS اسکریپت مخرب در دیتابیس ذخیره و برای همه نمایش داده می‌شود؛ در Reflected XSS اسکریپت فقط از طریق پارامتر URL بازتاب می‌یابد.

پاسخ کامل

Stored XSS خطرناک‌تر است چون همهٔ بازدیدکنندگان یک صفحه (مثلاً یک کامنت مخرب ذخیره‌شده) را تحت تأثیر قرار می‌دهد؛ Reflected XSS فقط قربانی‌ای که روی لینک مخرب کلیک کند را آسیب می‌زند.

مثال کد

\nhttp://site.com/search?q=<script>alert(document.cookie)</script>\n

اشتباه رایج

اعتماد به این‌که چون فریمورک مدرن (React) خروجی را Encode می‌کند، هیچ‌جا نیازی به بررسی XSS نیست — dangerouslySetInnerHTML همچنان این محافظت را دور می‌زند.