XSS یکی از 10 حمله امنیتی رایج است که سازمان ها و شرکت هایی که با برنامه های کاربردی تحت وب سر و کار دارند را مورد هدف قرار می دهند. در این مطلب با این نوع حمله آشنا می شویم و انواع آن را مورد بررسی قرار می دهیم و با راه های جلوگیری از آن را آموزش می دهیم. در ادامه این مطلب با داریا همراه باشید.
حمله XSS چیست؟
حمله XSS یا Cross_Site Scriptingیک نوع رایج از حمله تزریق کد است که برنامه های تحت وب را با تشخیص آسیب پذیری آن ها و تزریق کد مخرب، مورد هدف قرار می دهد. در این حمله مهاجم یک کد مخرب را به وبسایت می فرستد و زمانی که کاربران برای بارگذاری وبسایت اقدام می کنند، کد به صورت خودکار اجرا می شود. معمولا، این کد به انتهای یک آدرس URL اضافه شده و یا مستقیما در صفحه ای که محتوا در آن قرار دارد، جاسازی می شود.
انواع حمله XSS
حملات XSS به سه دسته تقسیم می شوند که از جمله این حملات می توان به موارد زیر اشاره کرد:
- XSS ذخیره شده
XSS های ذخیره شده مخرب ترین نوع آسیب پذیری است؛ این حمله زمانی رخ می دهد که اطلاعت مخرب ارائه شده توسط مهاجم در سرور ذخیره شود، این داده خطرناک دائما در معرض صفحه وب قرار می گیرد و هنگامی که کاربر عملیات مرور معمولی را انجام می دهد فعال می شود.
- XSS منعکس شده
این نوع از آسیب پذیری XSS زمانی اتفاق می افتد که داده های ارائه شده توسط کاربران، معمولا از طریق پارامتر های درخواست HTTPS در صفحه بدون فیلتر یا ذخیره مناسب، نمایش داده میشود.
- XSS بر اساس DOM
حملات XSS بر اساس DOM یا Document Object Model یک نوع از آسیب پذیری بین سایت ها است و هنگامی رخ می دهد که جاوا اسکریپت، داده ها را از منبع کنترل شده مهاجم دریافت کرده و برای تغییر و اصلاح به محیط DOM ارسال می کند؛ این باعث می شود مرورگر قربانی به طور غیر منتظره اجرا شود.
یک مهاجم به وسیله XSS چه کاری می تواند انجام دهد؟
هکر ها و مهاجمان سایبریی که از Cross_Site Scripting استفاده می کنند، قادر به انجام رفتارهای زیر با قربانیان خود هستند:
- جعل هویت کاربر قربانی شده.
- انجام هر کاری که کاربر قادر به انجام آن است.
- مشاهده تمام اطلاعاتی که کاربر به آن ها دسترسی دارد.
- ثبت اطلاعت احراز هویت و ورود کاربر.
- خدشه دار کردن اعتبار وبسایت.
- تزریق ویروس Trojan به وبسایت.
هکر ها چگونه از XSS استفاده می کنند؟
حمله XSS جاوا اسکریپت بین هکر ها و مهاجمان بسیار محبوب است؛ به دلیل اینکه جاوا اسکریپت به برخی از داده های حساس دسترسی دارد و می توان از این دسترسی برای سرقت اطلاعات اکانت و اهداف مجرمانه دیگر استفاده کرد. فرایند یک حمله معمولی XSS به صورت زیر است:
- در مرحله اول قربانی، صفحه وب را بارگذاری کرده و کد مخرب، به کپی کردن کوکی های مخرب می پردازد.
- کد مخرب، یک درخواست HTTP را همراه با کوکی های دزدیده شده در بدنه ی درخواست، به وب سرور مهاجم ارسال می کند.
- و در آخر، مهاجم می تواند از این کوکی ها برای جعل هویت کاربر قربانی استفاده کرده و اطلاعات حساب های بانکی، اطلاعات اکانت و سایر اطلاعات حساس به سرقت می برد.
چرا باگ XSS خطرناک است؟
این باگ به راحتی می تواند اطلاعات اکانت و پسورد های شما را بدزدد؛ یا اگر در یک سایتی که نسبت به حملات XSS آسیب پذیر باشد، اطلاعت اکانت خود را وارد کنید، مهاجم می تواند کد مخربی را در سایت تزریق کرده و اطلاعات شما را به سرقت ببرد و از آن سوء استفاده کند.
آسیب های ناشی از Cross_Site Scripting
تاثیر اصلی XSS عموما به ساختار برنامه، اطلاعات و وضعیت کاربری که در معرض خطر قرار دارد بستگی دارد. به عنوان مثال:
- در یک برنامه تبلیغاتی، که در آن همه ی کاربران ناشناس هستند و تمام اطلاعات عمومی هستند، تاثیر اغلب کم تر خواهد بود.
- در برنامه هایی که اطلاعات حساس و مهمی مانند تراکنش های بانکی، ایمیل ها و سوابق بیمه را نگه داری می کنند، آسیب، عموما بسیار بیشتر و جدی تر خواهد بود.
نحوه مقابله با حملات XSS
برای مقابله با این نوع حمله نمیتوانیم از یک راه کار برای انواع مختلف این حمله استفاده کنیم؛ بلکه باید از روش ها و راهکار های کاربردی مختلف برای جلوگیری از این حمله استفاده کنیم؛ چرا که انواع مختلف برنامه های کاربردی وب، به سطوح امنیتی مختلفی نیاز دارند. در ادامه چند مورد از مهم ترین اقدامات امنیتی برای جلوگیری از این حملات را معرفی می کنیم.
از HTML در فیلد های ورودی خودداری کنید
یکی از راه های موثر برای جلوگیری از این نوع حملات این است که مانع از ارسال HTML در ورودی های فرم ها توسط کاربران شوید. انتخاب های دیگری هم وجود دارند که به کاربران اجازه می دهند بدون استفاده از HTML، یک محتوای خوب ایجاد کنند.
اعتبارسنجی ورودی ها
با استفاده از اعتبارسنجی، کاربر نمی تواند در فرمی که از استاندارد های خاصی پیروی نمی کند، داده ای ارسال کند. قوانین اعتبار سنجی می تواند به گونه ای تنظیم شوند که تگ ها و کاراکتر هایی مانند <script> که در XSS استفاده می شوند را رد کنند.
پاکسازی داده
پاکسازی داده ها، مشابه اعتبارسنجی انجام می شود؛ با این تفاوت که پس از ارسال داده ها در وب سرور و قبل نمایش آن ها برای کاربران دیگر، اتفاق می افتد. ابزار های آنلاین مختلفی برای پاکسازی HTML و فیلتر کردن تزریق کد مخرب وجود دارند.
فیلتر کردن ورودی ها
فیلتر کردن باید در مکانی که ورودی های کاربر دریافت می شوند، بر اساس داده هایی که انتظارشان را دارد، تا حد ممکن دقیق انجام شود.
مرورگر امن
مرورگر هایی مانند Firefox و Opera امنیت بالاتری نسبت به IE دارند؛ IE مرورگری است که نقاط ضعف زیادی دارد.
برای داشتن اطلاعات بیشتر در رابطه با اینترنت چیست و چگونه کار می کند؟ کلیک کنید.
کلیک نکردن روی لینک های ناشناس
برای جلوگیری از این نوع حمله می توان ایمیل را روی حالت HTML یا متنی قرار داد تا کد های مخرب خود به خود اجرا نشوند. بهتر است کاربران گزینه ذخیره اطلاعات اکانت و پسورد های خود را در مرورگرها غیر فعال کنند و به صورت دوره ای، رمز عبور ایمیل های خود را تغییر دهند. همچنین بهتر است کاربران از ایمیل های مجزا برای حساب های کاربری مهم خود مانند حساب بانکی و … استفاده کنند و از آن برای کار های روزانه خود استفاده نکنند.
Escaping
در این روش اطلاعات ورودی توسط کاربر فیلتر یا سانسور می شود. مثلا از ثبت بعضی از کاراکترهای خاص مانند > و < که ممکن است در دستورات کد استفاده شوند جلوگیری می شود و باعث می شوند که کد های مخرب از کار بیفتند.
تنظیم قوانی WAF
یک فایروال اپلیکیشن وب، می تواند برای جلوگیری از حملات XSS بازتابی تنظیم شود. این قوانین از ارسال درخواست های نامناسب به سرور، از جمله حملات XSS جلوگیری می کنند.
سخن پایانی
حملات XSS با اینکه می توانند برای هر سایتی بسیار خطرناک باشند و تمامی کاربران سایت را مورد حمله قرار دهند، به راحتی هم قابل پیشگیری هستند. آگاهی کافی از این نوع حمله ها می تواند به شما کمک کند تا مورد حمله مهاجمان سایبری قرار نگیرید و از اطلاعات و داده ها به شیوه بهتری محافظت کنید.
سوالات متداول
آیا حملات XSS مربوط به خود کاربر می شود؟
اگر شخصی با استفاده از حمله XSS به صورت خودسرانه اسکریپت های مخرب جاوا را روی سایت شما اجرا کند، امنیت وب سایت شما پایین آمده و در معرض خطر قرار می گیرد.
یک مثال واقعی از حملات XSS به چه صورت است؟
یک گروه از مهاجمان سابری از یک آسیب پذیری XSS در یک کتابخانه جاوا اسکریپت به نام Feedify که در وب سایت British Airway استفاده می شد، سوء استفاده کردند.
آنتی ویروس XSS چیست؟
Avast One به متوقف کردن XSS در مسیرهای خود کمک می کند، بنابراین نگران این که اطلاعاتتان در معرض خطر هکر باشد، نباشید.
XSS در شبکه چیست؟
XSS یک سوء استفاده است که در آن مهاجم کد را به یک وب سایت قانونی متصل می کند و زمانی که قربانی وب سایت را بارگذاری می کند اجرا می شود.
Leave A Comment