Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() أمان تطبيق الويب. ثغرة الهدف="_blank" - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2021-04-28
تطوير البرمجيات

أمان تطبيق الويب. ثغرة الهدف="_blank"

لوكاش كولكو

أصبح استخدام تطبيقات الويب أمراً شائعاً في كل مجتمع. فنحن نتعامل معها كل يوم. يمكننا القول إنها تحيط بنا. فنحن نستخدمها في العمل والترفيه وكأدوات للتواصل مع الآخرين. في كثير من الأحيان، كمستخدمين وكمطورين، لا ندرك كم عدد الثغرات الأمنية التي يتم اكتشافها كل يوم في هذه التطبيقات.

لقد كتبنا مؤخرًا عن أمان تطبيقات الويب عندما يتعلق الأمر بثغرة XSS. هذه المرة نريد أن نلفت انتباهك إلى خطر آخر.

لقد كانت نقطة الضعف التي نناقشها في هذه الورقة البحثية معنا منذ فترة طويلة وبسبب بساطتها، غالبًا ما يتم التقليل من شأنها أو حتى عدم معرفتها من قبل البعض مطورو تطبيقات الويب.

يحتوي كل تطبيق ويب تقريبًا على روابط تفتح عند النقر عليها في علامة تبويب جديدة حتى لا يتم إغلاق علامة التبويب بالصفحة الأصلية. هذا سلوك مفضل لأن منشئي التطبيق يريدون أن يقضي المستخدم أكبر وقت ممكن في التطبيق.

من الهجمات التي تستغل هذه الثغرة ما يسمى بـ "الاختراق العكسي لصفحة ما". وهو هجوم حيث تكون الصفحة المرتبطة من الصفحة المستهدفة قادرة على استبدال تلك الصفحة بموقع تصيّد احتيالي على سبيل المثال.

سيناريو الهجوم

  1. لنفترض أن الضحية يستخدم فيسبوك المعروف بفتح الروابط عبر target="_blank",
  2. أنشئ صفحة فيروسات مزيفة,
  3. إنشاء موقع تصيّد احتيالي يشبه صفحة تسجيل الدخول إلى فيسبوك,
  4. ضع ما يلي الكود على الصفحة الفيروسية على سبيل المثال، عبر ثغرة XSS التي تم العثور عليها
    window.opener.location = 'https://phishing-website/facebook.com';
  5. تنقر الضحية على الرابط الموجود على فيسبوك للصفحة المنتشرة,
  6. تقوم الصفحة الفيروسية بإعادة توجيه علامة تبويب فيسبوك إلى موقع التصيّد الاحتيالي وتطلب من المستخدم تسجيل الدخول مرة أخرى.

لذلك، يمكننا تغيير علامة التبويب الرئيسية من الصفحة المستهدفة المصابة عن طريق كائن النافذة من واجهة برمجة تطبيقات الويب. عادةً ما ينطوي الهجوم على استخدام العديد من الثغرات المكتشفة وعمليات التصيد الاحتيالي بالتوازي.

المشكلة

عندما نفتح علامة تبويب جديدة في المتصفح باستخدام رابط مع الهدف="_blank" لدينا إمكانية الوصول إلى "المُحيل" من علامة التبويب الجديدة. وبشكل أكثر تحديدًا، إلى الافتتاحية خاصية النافذة والتي تُرجع مرجعًا إلى النافذة التي فتحتها، وهي صفحتنا الأم.

ويرجع ذلك إلى سلوك Window.open() الدالة. من خلال الوصول إلى هذه السمة، يمكننا بسهولة استبدال صفحتنا الأم. لاحظ أن بعض المتصفحات الحديثة يمكن أن تجعل فتاحة النوافذ في علامة التبويب الهدف ك لا شيء لمنع هذا السلوك.

مثال على الرمز

<code> <a href="https://github.com" target="_blank">الانتقال إلى GitHub - الرابط المصاب</a>
تشكل
 إذا (الرابط)
   رابط [0].onclick = () => {
     إذا (نافذة) window.opener.location = 'https://stackoverflow.com'
   }

يمكنك أن ترى أعلاه الرابط المصاب الذي يفتح في الأصل علامة تبويب جديدة مع صفحة GitHub ولكن في الوقت نفسه يغير الصفحة "الأم" إلى موقع Stackoverflow.

مثال حي

1. روابط HTML

إضافة rel="noopener noreferrer" إلى <a> الوسم.

إن متعلق تحدد العلاقة بين المورد المرتبط والمستند الحالي.

نوبنر يخبر المتصفح بالانتقال إلى الهدف دون منح حق الوصول إلى الأصل الذي فتحه. علامة تبويب الهدف فتاحة النوافذ سيكون لا شيء.

نوريفرير يمنع المتصفح، عند التنقل إلى الهدف، من إرسال العنوان أو أي قيمة أخرى كمرجع عبر المرجع رأس HTTP. لاحظ أن اسم رأس HTTP هذا خطأ إملائي متعمد باسم "المُحيل".

2. JavaScript الروابط

بالنسبة لـ JavaScript Window.open يمكنك إضافة القيم نوبنر و نوريفرير في النافذةالميزات من معلمة Window.open ولكن قد تستجيب المتصفحات المختلفة بشكل مختلف، لذا يوصى بإجراء فتاحة النوافذ كما لا شيء بعد استخدام Window.open() الوظيفة.

اقرأ المزيد:

واجهة برمجة تطبيقات القضبان و CORS. اندفاعة من الوعي

استراتيجيات جلب البيانات في NextJS

7 أسباب وراء احتياج متجرك الإلكتروني إلى Magento

إذا وجدت هذه المقالة مثيرة للاهتمام، تابع لوكاش على Github: https://github.com/twistezo

مقالات ذات صلة

تطوير البرمجيات

إنشاء تطبيقات ويب مستقبلية: رؤى من فريق خبراء The Codest

اكتشف كيف تتفوق شركة The Codest في إنشاء تطبيقات ويب تفاعلية قابلة للتطوير باستخدام أحدث التقنيات، وتقديم تجارب مستخدم سلسة عبر جميع المنصات. اكتشف كيف تقود خبرتنا التحول الرقمي والأعمال التجارية...

ذا كوديست
تطوير البرمجيات

أفضل 10 شركات لتطوير البرمجيات في لاتفيا

تعرّف على أفضل شركات تطوير البرمجيات في لاتفيا وحلولها المبتكرة في أحدث مقالاتنا. اكتشف كيف يمكن لهذه الشركات الرائدة في مجال التكنولوجيا المساعدة في الارتقاء بأعمالك.

thecodest
الحلول المؤسسية وحلول التوسعة

أساسيات تطوير برمجيات جافا: دليل للاستعانة بمصادر خارجية بنجاح

استكشف هذا الدليل الأساسي حول تطوير برمجيات جافا outsourcing بنجاح لتعزيز الكفاءة والوصول إلى الخبرة وتحقيق نجاح المشروع باستخدام The Codest.

thecodest
تطوير البرمجيات

الدليل الشامل للاستعانة بمصادر خارجية في بولندا

إن الطفرة في outsourcing في بولندا مدفوعة بالتقدم الاقتصادي والتعليمي والتكنولوجي، مما يعزز نمو تكنولوجيا المعلومات والمناخ الملائم للأعمال.

ذا كوديست
الحلول المؤسسية وحلول التوسعة

الدليل الكامل لأدوات وتقنيات تدقيق تكنولوجيا المعلومات

تضمن عمليات تدقيق تكنولوجيا المعلومات وجود أنظمة آمنة وفعالة ومتوافقة. تعرف على المزيد حول أهميتها من خلال قراءة المقال كاملاً.

The Codest
ياكوب جاكوب جاكوبوفيتش CTO وشريك مؤسس CTO

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic