انعکاس
در این نوع از حمله، هکر یک حفره امنیتی و راهی برای استفاده از آن پیدا می نماید تا کاربر ناشناس را به یک برنامه وب دارای آسیب پذیری XSS هدایت کند. در این هنگام حمله انجام شده است. این حمله به وسیله یک سری از پارامترهای URL که با URL ارسال می شوند، انجام می شود. هکر URL مخرب را با پارامترهای موجود در URL برای کاربر ارسال می کند.
این URL معمولا از طریق ایمیل، وبلاگ ها یا انجمن ها و یا هر روش ممکن دیگری برای کاربر فرستاده می شود. شاید تصور شود که کاربر بر روی لینک های ناشناس کلیک نمی کند، بنابراین مشکلی برای او پیش نمی آید. اما باید توجه نمود که با استفاده از JavaScript حتی با بازنمودن یک ایمیل و حتی مشاهده یک سایت، حمله XSS انجام می شود. به علاوه در این نوع حمله معمولا URL ها با متدهایی مثل Hex و یا هر متد کدگذاری دیگری که URL ها را بصورت معتبر نمایش می دهد، کدگذاری می شوند.
ذخیره
در این نوع حمله، هکر کدهای مخربی را که یک کاربر در آینده آنها را فراخوانی می کند ذخیره می نماید. در واقع یک کاربر ندانسته به کدهای مخرب برخورد می نماید و کدهای مخرب اجرا می شوند. مسئله اینجاست که هنگام ذخیره سازی کدها و همچنین هنگام واکشی آنها اعتبارسنجی ورودی ها و خروجی ها انجام نشده است. نکته حائز اهمیت این است که حتی درصورت اعتبارسنجی کدها در هنگام ذخیره نمودن آنها، چک نمودن خروجی ها و اعتبار سنجی آنها نیز لازم است. چراکه به این ترتیب کدهای مخرب ناشناخته در طی فرایند اعتبار سنجی ورودی، کشف خواهند شد.
یک هکر با بهره گیری از XSS می تواند به انجام اعمالی از قبیل موارد زیر اقدام نماید:
• تغییر تنظیمات کاربر
• ربودن حسابها
• ربودن کوکی ها
• اعمال کدهای تخریب کننده
• لینک به سایت های مخرب
• راه اندازی تبلیغات کاذب
راه های متداولی که کاربران از طریق آنها مورد حمله قرار می گیرند، عبارتند از:
• باز نمودن یک صفحه وب
• کلیک نمودن بر روی لینک
• باز نمودن ایمیل
جلوگیری از XSS
ساده ترین راه جلوگیری از XSS، اضافه نمودن کدی به برنامه تحت وب است تا باعث شود از برخی تگ های فرمان در ورودی پویا چشم پوشی شود.
تگ های قابل استفاده در XSS عبارتند از:
•
•
•
•
•