با ورود اینترنت به زندگی شخصی و اجتماعی، همچنین مشاغل، استفاده از برناهه های تحت وب و یا اپلیکیشن های موجود در وب، به سرعت در حال افزایش و توسعه هستند. با کمی تحقیق و جستجو در اینترنت قطعا به اعداد و ارقامی خواهید رسید که نشان دهنده آمار منتشر شده درباره تعداد افرادی است که در سراسر جهان از اینترنت استفاده می کنند.
با هوشمند شدن گوشی های تلفن همراه، استفاده سازمان ها و ادارات از تجهیزات شبکه مدرن و همچنین سهولت در اتصال به اینترنت اهمیت برنامه ها و اپلیکیشن های تحت وب بسیار زیاد شده و بیشتر هم خواهد شد. از طرف دیگر این محبوبیت مورد توجه عوامل مخرب و حملات قرار گرفته و نظر آن ها را جلب کرده است.
حمله Cross site scripting یا XSS چیست:
تزریق کد یکی از معروف ترین و همچنین جذاب ترین روش ها در حمله و سرقت اطلاعات است که توسط هکرها صورت می گیرد. حملات تحت وب شامل 128 گروه اصلی است که این گروه های اصلی، زیر گروه هایی نیز دارند. یکی از پر استفاده ترین حملات در میان هکرها حمله Cross site scripting یا XSS است.
این حمله یک حمله تزریقی یا به اصطلاح Code injection است. شاید برایتان سوال باشد که مخفف این عبارت باید CSS باشد چرا آن را XSS می نامیم؟ به علت تشابه با زبان استایل دهی CSS آن را XSS می نامیم. در حقیقت در این روش با تزریق کد مخرب به برنامه های تحت وب و تشخیص آسیب پذیریِ این برنامه ها به آن ها حمله می کنند.
اگر برنامه های تحت وب مورد حمله Cross site scripting یا XSS قرار بگیرند به صورت مستقیم خودشان آسیب نمی بینند و هدف اصلی آن ها کاربران و سایت های مورد استفاده آنهاست. اما چه موقع این حملات رخ می دهند و چگونه موجب خرابی می گردند؟
این حملات در سرویس دهی و خدمات رسانی رخ می دهند، بدین منظور که هنگام اختلال در سرویس دهی، به وب سایت پذیرنده آسیب وارد می کنند و در هنگام اختلال در خدمات رسانی، کاربران را مورد هدف قرار می دهند و می توانند آثار مخربی بر کسب و کار شما داشته باشند.
هنگامی که هکرها از اسکریپت استفاده می کنند، یک کد مخرب از طریق برنامه وب به قربانی ارسال می شود و حمله کننده ها از آسیب پذیری برنامه تحت وب استفاده می کنند و یک حمله موفق ایجاد می کنند. برای درک بهتر، به مثال زیر توجه کنید:
فرض کنید یک نفر در پشت سیستم خود نشسته است و صفحه مانیتور یک Text editor ،Spreadsheet ،Music player در پایین نشان می دهد. شاید فکر کنید همه چیز عادی است اما چیزی که شما متوجه آن نخواهید شد باز بودن مرورگر اینترنت با ده ها Tab است. Tab ها ممکن است شامل فیلم های خنده دار، سایت پرداخت و برخی آگهی های تبلیعات باشند.
شما اگر بر روی یکی از آن آگهی ها کلیک کنید و صفحه دیگری را فعال کنید، این صفحه اسکریپتی دارد که می تواند به صورت خودکار به یک سایت بانکی آنلاین متصل می گردد و بدون آن که متوجه شوید پول از حساب کاربر برداشت شده و به حساب هکر واریز می گردد.
SOP که مخفف Same-Origin Policy است در مرورگرها این امکان را به وجود می آورد که اسکریپت های اجرا شده حذف شوند و از یک صفحه وب به داده اشتباهی انتقال داده نشوند. اگر اسکریپت در دامنه دیگری اجرا شد.
مرورگر آن را نمی تواند اجرا کند، اما اگر به همین سادگی این حمله بر طرف می شد، پس دیگر حمله ای به نام XSS وجود نداشت. حمله کننده ها و مهاجمان از روش هایی استفاده می کنند تا SOP را دور بزنند و بتوانند از صفحات وب سواستفاده کنند و از آسیب پذیر بودن برنامه سود ببرند.
بیشتر بخوانید: DNS Spoofing چیست
حمله Cross site scripting یا XSS چگونه انجام می شود:
حمله Cross site scripting یا XSS در اثر دستکاری یک اپلیکیشن یا وب سایت انجام می شود که کدهای مخربی به کاربران باز می گرداند. کدهای مخرب درون مرورگر اجرا می شوند و حمله کننده می تواند تعاملات کاربر با سایر وب ها را بررسی کند و اطلاعات کاربر را سرقت کند. گاهی ممکن است این اطلاعات بسیار حیاتی و مهم بوده و آسیب جدی به کاربر بزند.
همان طو که در بالا توضیح دادیم SOP تا زمانی که کاربر در صفحه ای فعال و در حال مشاهده است، اجازه بارگیری می دهد و مهاجمان نمی توانند به صورت مستقیم به سروری که مسئول نمایش صفحه است، دسترسی داشته باشند. اما هکرها چگونه آن را دور می زنند؟ این آسیب پذیری می تواند از قرار دادن برخی قطعات و کدهای مخرب در محتوا صفحه به وجود بیایند و به هکرها در انجام حمله کمک کنند.
مثلا یک موتور جستجو وقتی می خواهد نتایج درخواست کاربر را نمایش دهد، درخواست را تکرار می کند، درخواست کاربر به صورت یک رشته <</script script . alert (1). جستجو می شود و منجر به اجرای یک اسکریپت می گردد. در اینجا موضوعی که اهمیت بالایی دارد این است که توسعه دهندگان وب، ورودی که دریافت کرده اند را تائید می کنند؟ و یا آن را به یک قالب امن تبدیل می کنند؟
مشکل زمانی به وجود می آید که کاربران نسخه های مرورگر زیادی را اجرا می کنند (از آخرین نسخه مرورگر تا نسخه هایی که دیگر پشتیبانی نمی شوند) و هر نسخه از مرورگر، صفحات را به شیوه ای خاص مدیریت می کند و این موضوع باعث بوجود آمدن مشکل می شود.
حمله Cross site scripting یا XSS هنگامی به وجود می آید که دریافتی ها و ورودی ها فیلتر نشده باشند. بنایراین اولین چیزی که در اسکریپت نویسی متقابل یا XSS اهمیت دارد چگونگی قرار دادن داده های کاربر در صفحه وب است.
انواع حمله Cross site scripting یا XSS:
حملات اسکریپت دهی بین سایتی به دو دسته تقسیم می شود: Non-Persistent attack و Persistent attack
- XSS ذخیره شده: این حمله بیشترین آسیب و خرابی را به وجود می آورد، زیرا هنگامی که مرورگر دچار این حمله می شود، اطلاعات مخربی که در سرور به وسیله حمله کننده ایجاد شده ذخیره می گردد و مدام در هنگام درخواست های مرورگر در معرض است، با هر عملیاتی که کاربر بر روی مرور گر انجام می دهد، فعال می شود.
- XSS منعکس شده: این آسیب و اختلال یکی از رایج ترین آسیب های اسکریپت نویسی است و زمانی رخ می دهد که داده هایی که از طریق HTTP، توسط کاربران ارائه می شوند بدون فیلتر یا ذخیره سازی مناسب، نمایش داده شوند. در واقع این نوع حمله، یک انعکاس از یک اسکریپت مخرب است که بر مرورگر تاثیر می گذارد و به وب شما آسیب می زند. این اسکریپت در یک لینک قرار دارد که هنگامی که بر روی لینک کلیک می کنید، فعال می گردد.
- XSS بر اساس DOM (Document Object Model): این نوع آسیب پذیری بین سایت ها صورت می گیرد، وقتی جاوا اسکریپت داده ها را از مهاجم دریافت می کند (منظور از منبعی قابل کنترل نفوذگر مثل URL) و آنها را برای اصلاح به DOM می فرستد، موجب می گردد که مرورگر قربانی (که داده ها از طریق آن ارسال شده اند) کاملا غیر منتظره اجرا شود.
چگونه از حمله Cross site scripting یا XSS جلوگیری کنیم:
برنامه هایی که بسیار کاربردی هستند ویژگی اسکریپت نویسی متقابل در آن ها بسیار پیچیده است بنابراین ایجاد ایمنی در آن ها در برابر حمله Cross site scripting، کار بسیار سختی می باشد. از این رو با انجام اقدامات زیر می توانید برنامه های کاربردی خود را از این حملات محفوظ نگه دارید:
- داده های دریافتی از سمت کاربر را فیلتر کنید.
- در هنگام خروجی گرفتن، داده های خروجی را کد گذاری کنید تا در هنگام پیاده سازی کدهای خروجی به صورت URL، HTML و جاوا اسکریپت از فعالیت آنها جلوگیری کند.
- با برنامه های اسکنر می توانید از آسیب پذیری احتمالی برنامه وب جلوگیری کنید و آسیب های احتمالی را نیز اسکن کنید.
- Header مناسب پیاده سازی کنید و حملات XSS را مسدود کنید و در پاسخ دهی به HTML اطمینان حاصل کنید که مرور گر شما پاسخ صحیح و مورد نظر را اجرا می کند.
- CSP یا Content Security Policy که همان سیاست امنیت محتوا نام دارد را برای از بین بردن عوامل مخرب در سیستم خود پیاده سازی کنید.
بیشتر بخوانید: حمله DLL Injection چیست
چه موقع از حمله Cross site scripting یا XSS استفاده می شود:
حمله کننده با استفاده از این حمله به اطلاعاتی دسترسی پیدا می کند که توانایی دارد از آن اطلاعات سو استفاده جبران ناپذیری به عمل آورد، در ادامه اهداف مهاجمان از این حمله را بررسی می کنیم.
- مهاجم می تواند خودش را به عنوان کاربر واقعی جا بزند
- تمام اقداماتی که یک کاربر واقعی می تواند در اکانت خود انجام دهد، مهاجم نیز می تواند آن ها را انجام دهد
- می تواند به تمام داده های کاربر دسترسی پیدا کند یا به عبارتی دسترسی به اطلاعات احراز هویت کاربران
- به اطلاعات ورودی و محرمانه کاربر را دسترسی پیدا می کنند و آن را افشا می کنند
- محتوا سایت را تغییر دهد و هر محتوایی را جایگزین کند
- Trojan در سایت تزریق گردد
- حملات فیشینگ
- کمک به پیاده سازی سایر حملات
حمله Cross site scripting یا XSS چه تاثیری دارد:
تاثیری که این حمله بر روی وب سایت ها و مرورگرها ایجاد می کند با توجه به ماهیت آن ها متفاوت است و همچنین وضعیت کاربر از اهمیت بالایی در این مورد برخوردار است:
در نظر بگیرید که در یک اپلیکیشن، تمام کاربران ناشناس هستند و اطلاعات آن ها در معرض دید عموم قرار می گیرد، در این چنین سایت هایی در صورت بروز حمله XSS نیز اتفاق حادی نمی افتد، زیرا تمامی اطلاعات مشهود هستند.
یک اپلیکیشن دیگر، حاوی داده های حساس همانند اطلاعات بانکی، تراکنش ها، اسناد مهم سازمانی و اداری و .. هستند، قاعدتا اگر بر روی این چنین مرورگرهایی حمله رخ دهد، اتفاقات و خسارات جبران ناپذیری را شاهد خواهیم بود.
حالت آخر یک کاربر اطلاعات شخصی یا محرمانه خود را به یک اپلیکیشن می دهد و به آن اعتماد می کند، در این صورت مهاجم می تواند داده ها را سرقت کرده و کنترل اکانت را بر عهده بگیرد. با توجه به اطلاعاتی که در اختیار آن وب قرار می دهد میزان خسارت و تاثیری که این حمله دارد تغییر می کند. به طور کلی می توان گفت این تاثیرات به دسته بندی های زیر تقسیم می شوند:
- تاثیر بر روی شهرت یک تجارت
- تخریب وجه یک سازمان
- عدم اعتماد دوباره کاربران بعد از حمله
- امکان وقوع حمله برای کاربرانی که سطح دسترسی بسیار بالایی دارند
امروزه با توجه به بالا رفتن هزینه ها و گران شدن قطعات سخت افزاری همچون، سرور، روتر، سوئیچ شبکه و سایر اقلامی که در راه اندازی سیستم و برقراری اینترنت سازمان ها، ادارات و اشخاص عادی نقش به سزایی دارند، شما باید تجهیزات شبکه خود را از مکانی مطمئن، معتبر و به روز تهیه کنید.
از طرف دیگر با آگاهی از حملات در کمین سیستم شما و راه های مقابله با این حملات از لو رفتن اطلاعات و حمله مهاجمان جلوگیری کنید؛ شما می توانید سایر حملات سیستمی از قبیل حمله به سرور یا DNS و .. را در مجله مستر شبکه بررسی و مطالعه نمائید.
خرید انواع تجهیزات شبکه از مسترشبکه همراه با گارانتی معتبر مسترشبکه |