در حال بارگذاری...
تست آسیبپذیری Cross-Site Scripting ذخیرهشده (Stored XSS) که در آن اسکریپت مخرب در سرور ذخیره شده و به همه کاربران نمایش داده میشود.
اهداف این درس
آسیبپذیری Stored XSS زمانی رخ میدهد که برنامه وب دادههای دریافتی از کاربر را بدون اعتبارسنجی مناسب در پایگاه داده ذخیره کند. این دادهها بعداً به کاربران دیگر نمایش داده میشوند و اسکریپت مخرب اجرا میشود.
| ویژگی | XSS بازتابی | XSS ذخیرهشده |
|---|---|---|
| نحوه اجرا | نیاز به کلیک روی لینک | خودکار اجرا میشود |
| محل ذخیره | در درخواست HTTP | در سرور/پایگاه داده |
| دامنه تأثیر | فقط قربانی | تمام کاربران |
| شدت خطر | متوسط | بالا |
تمام نقاطی که دادههای کاربر را ذخیره میکنند شناسایی کنید.
1<script>alert('Stored XSS')</script>2<img src=x onerror=alert('Stored XSS')>3<svg onload=alert('Stored XSS')>هشدار
XSS ذخیرهشده میتواند بهسرعت در سیستم گسترش یابد و تمام کاربران را تحت تأثیر قرار دهد.
XSS ذخیرهشده خطرناکتر از XSS بازتابی است زیرا نیاز به تعامل قربانی ندارد.
تمام ورودیهایی که در پایگاه داده ذخیره میشوند باید اعتبارسنجی شوند.
خروجیگیری باید در زمان نمایش دادهها انجام شود.
XSS ذخیرهشده چگونه از XSS بازتابی متفاوت است؟
چرا XSS ذخیرهشده خطرناکتر از XSS بازتابی است؟
زیرا اسکریپت مخرب در سرور ذخیره میشود و بهطور خودکار به همه کاربران نمایش داده میشود.
آیا ذخیرهسازی دادهها بعد از ضدعفونی کردن کافی است؟
خیر، بهترین رویکرد ذخیرهسازی دادهها بهصورت خام و انجام خروجیگیری در زمان نمایش است.