تفاوت اصلی بین XSS و CSRF در این است که در XSS (یا Cross Site Scripting)، سایت کد مخرب را می پذیرد در حالی که در CSRF (یا Cross Site Request Forgery)، کد مخرب در سوم ذخیره می شود. سایت های مهمانی XSS نوعی آسیبپذیری امنیتی رایانه در برنامههای کاربردی وب است که مهاجمان را قادر میسازد تا اسکریپتهای سمت کلاینت را به صفحات وب که توسط سایر کاربران مشاهده میشوند تزریق کنند. از سوی دیگر، CSRF نوعی فعالیت مخرب یک هکر یا یک وب سایت است که دستورات غیرمجاز را منتقل می کند که برنامه وب کاربر به آنها اعتماد خواهد کرد.
توسعه وب فرآیند برنامه نویسی یک وب سایت بر اساس نیاز مشتری است.هر سازمانی وب سایت را نگهداری می کند. این وب سایت ها به بهبود کسب و کار و کسب سود کمک می کنند. در عین حال، ممکن است تهدیداتی وجود داشته باشد که بر عملکرد وب سایت تأثیر بگذارد. دو مورد از آنها XSS و CSRF هستند.
XSS چیست؟
XSS یک حمله تزریق کد است که کدهای مخرب را به وب سایت تزریق می کند. این یکی از رایج ترین حملات وب سایت است. می تواند وب سایت را تحت تأثیر قرار دهد و همچنین می تواند کاربران آن وب سایت را تحت تأثیر قرار دهد. به عبارت دیگر، هنگامی که یک حمله XSS در وب سایت وجود دارد، آن کد توسط مرورگر در کاربران آن وب سایت اجرا می شود.
شکل 01: حمله XSS
یکی از زبان های رایج برای نوشتن کدهای مخرب برای XSS جاوا اسکریپت است. XSS می تواند کوکی های کاربر را بدزدد. می تواند صفحه وب را طوری تغییر دهد که ظاهر و رفتار متفاوتی داشته باشد. علاوه بر این، میتواند بارگیریهای بدافزار را نمایش دهد و تنظیمات کاربر را تغییر دهد.
دو نوع حمله XSS وجود دارد. آنها را پایدار و غیر مستمر می نامند. در حمله مداوم XSS، کد مخرب در پایگاه داده وب سایت ذخیره می شود. کاربر ممکن است بدون هیچ دانشی به آن دسترسی داشته باشد. حمله غیر مداوم XSS نیز Reflected XSS نامیده می شود. این اسکریپت مخرب را به عنوان یک درخواست HTTP ارسال می کند. این دو نوع اصلی در XSS هستند.
CSRF چیست؟
در یک وب سایت، سمت مشتری و سمت سرور وجود دارد. صفحات وب، فرم ها در سمت مشتری قرار دارند. سمت سرور زمانی که کاربر اقدام می کند یک عمل انجام می دهد. سمت سرور از سایر وب سایت ها نیز درخواست دریافت می کند.
حمله CSRF کاربر را فریب می دهد تا با یک صفحه یا یک اسکریپت در یک سایت شخص ثالث تعامل داشته باشد. این یک درخواست مخرب برای سایت کاربر ایجاد می کند. اما سرور فرض می کند که این درخواست از یک وب سایت مجاز است. وقتی کاربر آن را بپذیرد، مهاجم میتواند با استفاده از دادههای ارسال شده در درخواست، کنترل را در دست بگیرد.
یک مثال به شرح زیر است.کاربر به حساب بانکی خود وارد می شود. بانک یک نشانه جلسه در اختیار او قرار می دهد. یک هکر می تواند کاربر را فریب دهد تا روی لینک جعلی که به بانک اشاره دارد کلیک کند. هنگامی که کاربر روی پیوند کلیک می کند، از نشانه جلسه قبلی استفاده می کند. سپس درخواست هکر اجرا می شود و حساب کاربری هک می شود. او می تواند از حساب خود پول منتقل کند. درخواست به بانک جعلی است زیرا از همان رمز جلسه کاربر استفاده می کند. به طور کلی، مهم است که بدانید چگونه از وب سایت در برابر حمله CSRF در توسعه وب محافظت کنید.
تفاوت بین XSS و CSRF چیست؟
XSS مخفف Cross Site Scripting و CSRF مخفف Cross Site Request Forgery است. XSS نوعی آسیبپذیری امنیتی رایانه در برنامههای کاربردی وب است که مهاجمان را قادر میسازد تا اسکریپتهای سمت کلاینت را به صفحات وب که توسط سایر کاربران مشاهده میشوند تزریق کنند. CSRF نوعی فعالیت مخرب یک هکر یا یک وبسایت است که دستورات غیرمجاز را منتقل میکند که برنامه وب کاربر به آن اعتماد خواهد کرد. همچنین، XSS برای نوشتن کد مخرب به جاوا اسکریپت نیاز دارد در حالی که CSRF به جاوا اسکریپت نیاز ندارد.
علاوه بر این، در XSS، سایت کد مخرب را می پذیرد در حالی که در CSRF، کد مخرب در سایت های شخص ثالث ذخیره می شود. این تفاوت اصلی بین XSS و CSRF است. معمولا سایتی که در برابر حمله XSS آسیب پذیر است در برابر حمله CSRF نیز آسیب پذیر است. با این حال، سایتی که از XSS محافظت میکند همچنان میتواند در برابر حملات CSRF آسیبپذیر باشد.
خلاصه - XSS در مقابل CSRF
XSS و CSRF دو نوع حمله به یک وب سایت هستند. XSS مخفف Cross Site Scripting است در حالی که CSRF مخفف Cross Site Request Forgery است. تفاوت بین XSS و CSRF این است که در XSS، سایت کدهای مخرب را می پذیرد در حالی که در CSRF، کد مخرب در سایت های شخص ثالث ذخیره می شود.