
پنجرهی جدیدی به روی حملات فیشینگ
استفاده از صفت target روی لینکها برای بازکردن صفحات در پنجرهی جدید، خطر سرقت اطلاعات را به وجود میآورد.
به گزارش واحد متخصصین سایبربان؛ در طراحی صفحات وب یکی از روشهای هدایت کاربران به صفحهای جدید استفاده از «1target=_blank» است؛ اما این ویژگی باعث میشود تا کاربران در معرض خطر سرقت شدن اطلاعات و حملات فیشینگ قرار بگیرند.
بن هالپرن (Ben Hepern)، یکی از توسعهدهندههای زبانهای رابی و جاوا اسکریپت، علت به وجود آمدن آسیبپذیری مذکور را ویژگیهای به کار رفته در target بیان کرده و گفت: «زمانی که یک وبگاه از target=_blank برای باز کردن یک لینک در یکزبانه یا پنجرهی جدید استفاده میکند، برای دسترسی به پنجرهی جدید از رابط برنامهنویسی نرمافزار " window.opener API" استفاده کرده و دسترسیهای محدودی را به دست میآورد. این دسترسیها تعدادی از محدودیتهای دامنهی متقابل2 را حذف میکنند.»
از لحاظ نظری یک هکر میتواند با استفاده از صفتهای انتقال به یک صفحهی جدید، کدهای مخربی را در صفحهی وبی که در یک پنجره یا زبانهی تازه باز میشود، قرار بدهند. سپس زمانی که کاربر روی لینک قرارگرفته در صفحهی مبدأ کلیک میکند، یک پنجرهی جدید باز شده و شروع به برگزاری میشود. در همین زمان، کدهای مخرب فعالیت خود را آغاز و با استفاده از صفت یاد شده یک صفحهی فیشینگ را (به عنوان مثال در صفحهی مبدأ) ایجاد میکند.
هماکنون فیسبوک تحت تأثیر آسیبپذیری مذکور در تمام مرورگرها قرار میگیرد. این درحالی است که شبکهی اجتماعی توییتر تنها در زمان استفاده از مرورگر سافاری تحت تأثیر قرار گرفته و اینستاگرام به صورت کامل این آسیبپذیری را بر طرف کرده است.
هالپرن با بیان این که هکرها میتوانند از طریق روش مذکور به سرقت اطلاعات کاربران بپردازند، گفت: «زمانی که یک حملهی فیشینگ با استفاده از این روش صورت میگیرد، هکر از طریق صفحهی جدید باز شده، به صفحهی اصلی دسترسی دائمی پیدا میکند و میتواند بهراحتی اطلاعات خصوصی کاربر را سرقت کند.»
طراحان وبگاهها باید برای بر طرف کردن آسیبپذیری ذکر شده، صفت «rel=noopener» را به تمام لینکهایی که از «target=_blank» استفاده میکنند اضافه کنند. اگرچه مرورگر فایرفاکس از صفت یاد شده پشتیبانی نکرده و برای رفع آسیبپذیری در این مرورگر باید از «rel=noopener noreferrer» استفاده شود.
البته شبکهی اجتماعی توییتر برای رفع آسیبپذیری target از اسکریپت زیر استفاده میکند؛ اما این روش نیز بهطور کامل مشکل را برطرف نکرده و با مرورگر سافاری سازگار نیست.
___________________________
1- صفت «target» با مقدار «–blank» باعث میشود تا صفحهی وب در یک پنجرهی جدید باز شود.
2- دامنهی متقابل (Cross-domain) به معنی انتقال دستی یا خودکار اطلاعات بین دو یا چند دامنهی مختلف است.