آموزش هوشمند امنیت و طراحی وب

  • تکنولوژی های وب و ترندهای وردپرس
صفحه اصلیتحلیل و آنالیزآسیب پذیری Target:”_blank”

آسیب پذیری Target:”_blank”

نویسنده: رضا دهقان | تاریخ انتشار: ۱۳۹۸/۰۷/۰۲ | دسته بندی: تحلیل و آنالیز|

vulnerability target=_blank

برای باز شدن یک لینک در یک پنجره یا تب دیگری، از خاصیت target تگ a در html استفاده می شود. یعنی مقدار این خاصیت باید _blank باشد. این خاصیت وقتی بکار گرفته می‌شود، بهمراه خود یک document object با نام window ارسال می‌کند، که باز همین آبجکت، یک خاصیت با نام opener دارد. قابل حدس است که این opener حاوی مقداری‌ست: صفحه/وبسایت قبلی که لینک این صفحه را داده است.

مثلا فرض کنید در وبسایت فیسبوک یک پست با یک لینک گذاشتید که این لینک بصورت پیشفرض، اگر کاربر روی آن کلیک کند، به لینک مقصد یعنی securitydev.ir/index.html هدایت می‌شود. در این صفحه‌ی جدید، ما می‌توانیم آبجکتی که از صفحه‌ی قبلی (فیسبوک) برمی‌گردد را بطور کامل کنترل کنیم. یعنی با استفاده از آن، لینک قبلی را به یک صفحه دیگری هدایت کنیم. روشن‌تر بگوییم: وقتی کاربر به صفحه‌ی جدید (securitydev) هدایت می‌شود، صفحه‌ی جدید درخواست می‌دهد که صفحه‌ی قبلی (فیسبوک) به لینک دیگری هدایت شود. این سناریو با تغییر مقدار window.opener.location در صفحه‌ی جدید انجام می‌شود.

مفهوم خطرناکی که پشت این ایده وجود دارد این است که این خاصیت فارغ از محدودیت‌های CORS است. یعنی همانطور که توضیح داده شد وبسایت‌های securitydev و فیسبوک دارای یک origin نیستند و کاملا با هم فرق دارند؛ اما با این حال باز هم مثلا securitydev  می‌تواند فیسبوک را که به آن لینک داده به لینک دیگری هدایت کند.

این قابلیت یا باگ یا misconfig یا هرچه در مرورگرها، به مهاجمین اجازه می‌دهد که از حواس‌پرتی یا اعتماد کاربران سوء استفاده کند و مثلا لینک قبلی را به یک phishing page هدایت کند که اطلاعات حساس کاربران را بگیرد. از ترفندهای فیشینگ پیشرفته، Tab Nabbing است. مثلا فرض کنید با این تکنیک فیسبوک بعد از چند دقیقه به صفحه ورود جعلی هدایت شود. کاربر گمان می‌کند که فیسبوک خود به خود به صفحه ورود هدایت شده و اقدام به لاگین می‌نماید.

 

راهکار

  • اگرمی‌خواهید از این حمله در امان باشید سعی کنید روی لینک‌ها کلیک نکنید!‍ طبق بررسی های انجام شده، اگر Ctrl بهمراه کلیک باشد و یا روی لینک راست کلیک کنید و open in new tab را بزنید از این حمله در امانید! ولی کلیک نکنید!
  • اگر وبسایتی دارید و می‌خواهید وبسایت شما از این حمله در امان باشد، همراه هر لینک مقدار rel=“noopener noreferrer” را ارسال کنید.

منبع : JITBIT

185 بازدید


اشتراک گذاری کنید:


رضا دهقان

رضا دهقان اینستاگرام
طراح و توسعه دهنده وب | فارغ التحصیل مهندسی امنیت اطلاعات

  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.


هنوز دیدگاهی ارسال نشده! نظر شما چیست؟