حملات تزریق کد، یکی از رایج ترین حملات تحت وب است که در میان سایر انواع حملات تحت وب در جایگاه نخست قرار دارد. در این مطلب آموزشی هر آن چه را که شما باید در خصوص این حمله بدانید، به شما آموزش می دهیم.
حملات تزریق اسکریپت (Cross Site Scripting) که به صورت مخفف “XSS” نامگذاری شده است، از حملات سایبری رایج به وب سایت ها محسوب می شود. در این نوع حملات هکرها کد های جاوا اسکریپت را به وب سایت مورد حمله تزریق می کنند و وقتی کد های جاوا اسکریپت در مرورگر آن ها اجرا شد، هکر ها می توانند به اطلاعات های زیادی دسترسی پیدا کنند.
تاریخچه حفره های امنیتی در معرض حملات “XSS” به سال ۱۹۹۶ و سال های اولیه صفحات وب باز می گردد. هکرها در آن زمان که پروتکل “HTTP” جا افتاده بود و طراحان وب سایت ها از زبان های برنامه نویسی مانند جاوا اسکریپت سود می بردند، دریافتند وقتی کاربران معمولی وارد سایتی می شوند، آن ها (هکرها) می توانند به کمک کد نویسی در حفره های امنیتی سایت، صفحه دیگری را در همان صفحه بارگذاری کنند، سپس با سود بردن از جاوا اسکریپت، داده های کاربر مانند نام کاربری، گذرواژه و یا کوکی ها را بدزدند.
حملات تزریق کد به این صورت انجام می شود که در گام نخست هکر به دنبال یک باگ در وب سایت مورد نظر می گردد، پس از آن هکر کد های مخرب خود را به کد وب سایت مورد نظر تزریق می کند. برای مثال تزریق کد از طریق قسمت نظرات یا کامنت های مطالب، و یا فیلد جستجو صورت می گیرد. پس از اجرای این کد ها، هکرها می توانند به اهداف مورد نظر خود برسند. ظاهر کد های جاوا اسکریپت تزریق شده مانند کد های معمولی سایت است، به همین دلیل موضوع غیرطبیعی دیده نمی شود.
در حقیقت در این نوع حملات، هکرها به دنبال باگی در سایت مورد حمله هستند. پس از تزریق کد جاوا اسکریپت، هکرها به بانک اطلاعاتی یعنی جایی که کلیه اطلاعات کاربران در آن ذخیره شده است، دسترسی پیدا می کنند. در آخر، هکرها اطلاعات مهم کاربران را دزدیده و در سرور های خود ذخیره می کنند. تمام این حملات از طریق یک صفحه درون یک سایت صورت می گیرد.
حملات تزریق کد عواقب خطرناکی را به همراه دارند. یکی از عواقب این حملات، دزدیدن کوکی ها است. هکرها از طریق این حملات می توانند کوکی های مرورگری را که مورد حمله قرار دادند، بدزدند. کوکی ها حاوی اطلاعات حساسی نظیر “session ID” هستند، و هکرها با این اطلاعات بدون وارد کردن رمزهای عبور کاربر می توانند به حساب های شخص مورد نظر دسترسی پیدا کنند.
اگر باگ سایت در قسمت لاگ یک سایت باشد و هکرها به این قسمت کدهای جاوا اسکریپت تزریق کنند، و به راحتی می توانند فیلد رمز عبور را مانیتور کنند و به اطلاعات حساس کاربران از جمله نام کاربری و رمزعبور آن ها دسترسی پیدا کنند.
هم چنین هکرها با ساختن فرم های جعلی ممکن است کاربر را گول بزنند تا اطلاعات حساس خود را در این قسمت ها وارد کنند و یا با ساختن لینک هایی حاوی”XSS” مدل “non-persistent” یا “DOM-based”، و کلیک کاربر بر روی آن، او را قربانی می کنند.
اگر هکرها از روش های بالا بتوانند در سایت شما نفوذ کنند، این نشان دهنده آن است که سایت شما دچار ضعف امنیتی است و هکرها به روش های مختلفی که در بالا اشاره کردیم، می توانند کد جاوا اسکریپت به آن تزریق نمایند و به سایت شما نفوذ کنند.
نحوه مقابله با حملات “XSS” نیاز به آگاهی برنامه نویس تحت وب دارد. در حقیقت متخصص باید کدهای اجرایی را مدام کنترل کند و کدهای مشکوک را خنثی کند و حملات “XSS” را متوقف سازد. در حقیقت وظیقه متخصص کنترل کدهای اجرایی و پاکسازی کدهای مشکوک و غیرقابل قبول است. البته با استفاده از سیاست امنیت محتوا یا “Content Security Policy” هم می توان از این نوع حملات جلوگیری کرد چرا که این سیاست ها مرورگر را محدود به اجرای کدها و دستورات از منابع معتبر می کنند.
منبع:click