‹ بازگشت به کتابخانه‌ی رایت‌آپ‌ها
File Upload شدت: بالا

XSS ذخیره‌شده از طریق آپلود فایل SVG

چرا یک "آپلود عکس" می‌تواند به اجرای جاوااسکریپت منجر شود.

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

فایل‌های SVG در واقع فایل‌های XML هستند و می‌توانند تگ <script> یا attributeهای event-handler (مثل onload) داشته باشند. اگر سرور این فایل را مستقیماً (نه بعد از rasterize کردن به PNG) تحویل دهد و مرورگر آن را به‌عنوان SVG رندر کند، جاوااسکریپت داخل آن اجرا می‌شود — یک XSS ذخیره‌شده، فقط از طریق «آپلود یک عکس».

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

راه‌حل

فایل‌های SVG آپلودی باید یا به یک فرمت rasterized تبدیل شوند، یا با یک sanitizer SVG معتبر پاک‌سازی شوند تا تگ‌های اسکریپت و event-handler حذف شوند.

تمرین عملی در آزمایشگاه‌های File Upload ›