setakit.com
setakit.com

حمله cross site scripting یا XXS

حمله cross site scripting یا XXS چیست؟

حمله cross site scripting زمانی رخ می دهد که یک مهاجم، کدی را به یک وب سایت قانونی ضمیمه کند تا هنگامی که قربانی وب سایت را لود (load) می کند، آن کد اجرا شود. این کد مخرب را می توان به چندین روش، وارد وب سایت هدف نمود. دو مورد از محبوب ترین روش ها افزودن کد مخرب به انتهای URL است و دیگری قرار گرفتن مستقیم بر روی صفحه ای که محتوای تولید شده توسط کاربر را نمایش می دهد. اگر بخواهیم با بیان فنی توضیح دهیم باید بگوییم XXS، حمله ای بر مبنای تزریق کد به client side است.

حمله XXS ستاک فناوری ویرا

کد client-side چیست؟

کد client side، یک کد Java Script است که بر روی دستگاه کاربر اجرا می شود. روش کار این کد به گونه ای است که پس از این که صفحه وب load شد، توسط مرور گر وب اجرا می شود. کد client side نقطه مقابل کد server side است که بر روی سرور وب هاست اجرا می شود. کد client side در رابطه با آن دسته از صفحات وب که با کاربر در تعامل است، یک کد مفید به شمار می رود. در ضمن محتوای تعاملی آن را سریع تر و مطمئن تر اجرا می کند، زیرا کامپیوتر کاربر مجبور نیست هر بار که تعامل دارد، با سرور وب ارتباط برقرار کند. معمولا مرورگرهای گیم ها، یک پلتفرم محبوب برای کدهای client side به شمار می روند. زیرا کد client side به این اطمینان رسیده است که بازی ها (games) بدون در نظر گرفتن مشکلات ارتباطی و کانکت شدن به سادگی اجرا می شوند.

کد client side در فرایند گسترش مدرن وب بسیار محبوب شده است . در اکثر وب سایت های جدید و مدرن مورد استفاده قرار می گیرد. از آن جا که کد client side یکی از عناصر اصلی وب سایت های امروزی به شمار می رود، حمله cross site scripting  به یکی از آسیب پذیرترین زمینه های امنیت سایبری تبدیل شده که مرتبا گزارش می شود. قابل ذکر است cross site scripting تاکنون موفق شده است به سایت های مهم و معروفی مانند you tube، facebook و twitter نیز حمله کند.

مثالی از حمله cross site scripting (XXS)

یک مثال ملموس از حملات XXS در مورد وب سایت هایی رخ می هد که دارای فروم های معتبر نیستند. در این صورت، یک مهاجم می تواند نظر و کامنتی حاوی یک کد اجرایی در تگ <script></script>  ارسال کند. کاری که این تگ انجام می هد این است که به مرورگر وب دستور می دهد هر آن چه که بین تگ ها به عنوان کد Java Script هست را تفسیر و تعبیر کند. وقتی که کامنت مورد نظر،  در صفحه قرار می گیرد، هر کاربر دیگری که آن صفحه را load و مشاهده نماید، کد مخرب بین تگ های اسکریپت توسط مرورگر وب آن ها اجرا شده و آن ها قربانی حمله می گردند.

آسیب رساندن با cross site scripting

حملات JavaScript cross site scripting بسیار محبوب هستند، زیرا جاوا اسکریپت به برخی اطلاعات مهم و حیاتی دسترسی دارد که برای  سرقت هویت و سایر اهداف مخرب استفاده می شود. به عنوان مثال، از آن جا که جاوااسکریپت به کوکی ها (cookie)دسترسی دارد، یک مهاجم می تواند با استفاده از حملات XXS، کوکی کاربر را به سرقت برده و آن ها را به صورت آنلاین جعل کند. در ضمن JavaScript می تواند درخواست های HTTP ایجاد نموده و برای برگرداندن داده ها (مانند کوکی های سرقت شده) به مهاجم از آن استفاده کند. به علاوه، جاوا اسکریپت client side می تواند به مهاجم در دستیابی به APIهایی که شامل مختصات جغرافیایی، داده های مربوط به webcam و سایر اطلاعات مهم و حساس می گردد، کمک کند.

مراحل وقوع حمله cross-site scripting

  • ابتدا قربانی یک صفحه وب را باز نموده و کد مخرب، کوکی های کاربر را کپی می کند.
  • سپس، این کد با استفاده از کوکی هایی که به سرقت برده و قرار دادن آن ها در متن درخواست اقدام به ارسال درخواست های HTTP ، به سرور مهاجم می نماید.
  • در این مرحله مهاجم می تواند از این کوکی ها به منظور جعل هویت کاربر بر روی وب سایت مورد نظر با هدف حملات مهندسی اجتماعی (social engineering attack) و یا حتی با هدف دسترسی به حساب های بانکی و داده های مهم استفاده نماید.

کوکی ها اطلاعات موقت ورود به سیستم ذخیره شده بر روی کامپیوتر کاربر می باشند. به عنوان مثال، زمانی که یک کاربر وارد سایتی مانند فیس بوک می گردد، این سایت، کوکی هایی را در اختیار کاربر قرار می دهد تا اگر بعد از بستن پنجره مرورگر، دوباره در همان روز به همین وب سایت مراجعه کند، به طور خودکار توسط کوکی ها، احراز هویت شده و نیازی به ورود به سیستم یا لاگین شدن مجدد نداشته باشد.

 

 

 

سایر مطالب مرتبط

حملات اصلی به شبکه های کامپیوتری ستاک فناوری ویرا

حملات اصلی به شبکه