يغير النص البرمجي البسيط سلوك زر الرجوع في المتصفح ويستبدل نتائج البحث الأصلية ، ويوجه المستخدمين إلى نسخ من المواقع المنافسة التي يسيطر عليها المخترقنمط شائع: افتح صفحة بحث Google وانقر على نتائج مختلفة في البحث عن المعلومات التي تحتاجها. يمكنك فتح العشرات من علامات التبويب الفردية أو الانتقال إلى كل موقع على حدة ، ثم العودة إلى نتائج البحث (زر
الرجوع في المتصفح).
توصل اختصاصي تحسين محركات البحث Dan Petrovich من شركة Dejan Marketing الأسترالية إلى كيفية استغلال هذا النمط لمصلحته الخاصة والحصول على إحصاءات واسعة النطاق حول الزيارات إلى مواقع المنافسين ، وحرمانهم من حركة المرور.
يظهر الرسم التخطيطي في الرسم التوضيحي أعلاه. اعتراض حركة المنافسين ، يحصل الأخصائي على الفرصة:
- توليد خرائط حرارية لمواقع الآخرين (النقرات ، التحولات ، عمق التمرير)
- تسجيل الجلسات الحقيقية (حركات الماوس وضغط لوحة المفاتيح)
- تلقي جميع النصوص من النماذج المكتملة ، بما في ذلك نماذج طلب البضائع
بالطبع ، لم يفعل دان بتروفيتش أيًا مما سبق ، لأن هذا يعد انتهاكًا واضحًا للقانون. من المرجح أن طريقة بديلة لدراسة مواقع المنافسين ستكون انتهاكًا للقانون ، دون تزوير نتائج البحث ، واستخدام الاستنساخ المعتاد لموقع شخص آخر ، وشراء حركة المرور عبر وسائل التواصل الاجتماعي ، وما إلى ذلك.
الخطأ في المتصفحات لا يزال غير مغلق ، لذلك يمكن للمهاجمين الآخرين استخدام هذه الطريقة أيضًا: يتم نشر رمز JavaScript لاستغلال الثغرة في المجال العام. في الواقع ، من السهل كتابة مثل هذا البرنامج النصي ، مع معرفة وظائف طريقة
history.pushState()
لتغيير سجل المتصفح مع مراعاة المُحيل.
يلفت دان بتروفيتش الانتباه إلى حقيقة أنه استخدم هذه الحيلة لأول
مرة في نوفمبر 2012 . بعد ذلك ، بدلاً من إغلاق الثغرة الأمنية ،
خفضت Google
صفحتها يدويًا
في نتائج البحث (الصفحة التي تم إعادة توجيهها إلى نتائج بحث مزيفة عن طريق النقر على زر
الرجوع ). الآن بعد أن أعاد إظهار هذه الطريقة ، كان أداء Google أكثر صعوبة. بدون أي إشعارات في Search Console ،
تمت إزالة موقعه
من فهرس البحث بالكامل .
يعترف المخترق أنه من المعتاد في مجتمع أمن المعلومات التعامل مع نقاط الضعف الموجودة بشكل مختلف. يتم الإبلاغ عنها لأول مرة للمطورين وينتظرون إصلاح الأخطاء ، وفقط بعد أن يتم إخبارهم بذلك.
وأوضح أخصائيو البنت المحترفون
بالتفصيل للمؤلف كيف كان عليه أن يثبت هذه الثغرة بطريقة آمنة. لكن بتروفيتش تصرف بشكل مختلف - أظهر المخطط على مواقع حقيقية وأخبر الجميع على الفور. بالإضافة إلى ذلك ، هناك شكوك كبيرة حول قانونية مثل هذا الاختراق حتى بدون مراقبة حقيقية للمستخدمين ، أي شرعية إنشاء نسخ مزيفة من مواقع الأشخاص الآخرين وإعادة توجيه المستخدمين هناك. ولكن على مر السنين ، لم يقم أي من المنافسين برفع دعاوى قضائية ، مثل Google (والتي تتأثر أيضًا بنتائج البحث المزيفة). هذا هو تصيد احتيالي كامل ، وإن كان لأغراض التوضيح ودون نية خبيثة. أي أن أخلاقيات إجراءات اختصاصي تحسين محركات البحث موضع تساؤل.
ولكن تبقى الحقيقة: على مر السنين ، لا يزال زر
العودة في المتصفح عرضة للتلاعب. وفقًا لـ Petrovich ، تستخدم المواقع الأخرى أيضًا هذه التقنية لتتبع الزوار على مواقع المنافسين. يعتقد أن جوجل لم يكن يجب أن يستبعد موقعه من فهرس البحث ، ولكن كان يجب عليه اتخاذ عدد من الإجراءات حتى تتوقف هذه الحيلة القديمة عن العمل:
- تخلص من القدرة على التحكم في زر الرجوع في Chrome.
- أخفض تلقائيًا في إصدار المواقع التي تستخدم هذه الحيلة (وليس الغرامة يدويًا إلا شخصيًا). في الوقت الحالي ، لا تلاحظ Google هذه النصوص البرمجية: لقد مرت تجربة بتروفيتش دون أن يلاحظها أحد لمدة خمس سنوات وكان موقعه في المرتبة العالية في نتائج البحث.
history.pushState()
علامة على الصفحات التي تحتوي على history.pushState()
وانتحال نتائج البحث على أنها "خطيرة".
تحمي
شهادات طبقة المقابس الآمنة (SSL) ذات
الشهادات الخاصة بالمنظمة (OV)
وشهادات التحقق المتقدمة (EV) جزئيًا من مثل هذا التصيد الاحتيالي ، ولكن لا يزال هذا ليس حلاً سحريًا لإهمال المستخدم.
أظهرت تجربة دان بتروفيتش أن حوالي 50٪ من المستخدمين لا يجدون الآن أي شيء مريب عند إعادة توجيههم إلى نتائج بحث مزيفة ، ثم إلى نسخة من موقع آخر في النطاق المحلي. لا يتحقق العديد من المستخدمين من مالك الشهادة ولا يقرأون عنوان URL - فهم سعداء ببساطة أن المتصفح لديه رمز اتصال آمن ، على الرغم من أنه تم إصداره لنطاق شخص آخر. اكتشف المهاجمون منذ فترة طويلة أن
رمز الاتصال الآمن يزيد الثقة في موقع التصيد .
يمكن اتخاذ عدد من التدابير لحل هذه المشكلة ، على سبيل المثال:
- يتطلب تأكيد المستخدم لتطبيق
History#replaceState
history.pushState
و History#replaceState
. - قم بتمييز الجزء الأكثر أهمية من عنوان URL في شريط عناوين Chrome ، مثلما يفعل Firefox.
- لا تضع علامة على مواقع HTTPS على أنها "آمنة" لأنها تضلل المستخدم وتعطي إحساسًا زائفًا بالأمان.
- قم بتغيير رمز الزر "السابق" إذا كان يؤدي إلى عنوان مختلف عن الصفحة السابقة.
