جافا سكريبت PasteJacking

تستطيع المتصفحات الحديثة استخدام جافا سكريبت للوصول إلى حافظة المستخدم والتلاعب بها، قراءةً وكتابةً. ليست هذه التقنية جديدة، ولكن ظهرت مؤخرًا هجماتٌ متزايدة (تُعرف باسم "اختطاف النسخ") على الإنترنت، تستغل هذه الإمكانية لإلحاق الضرر بالمستخدمين غير المتوقعين. تطبيق هذه التقنية في جافا سكريبت بسيطٌ للغاية.


تم دمج النص التالي فقط في الجانب الضار:

27670b8ba9840e688369822a3fcfb2d9

إذا قمت بنسخ أي نص من مثل هذه الصفحة ، فإن السلسلة غير المرغوب فيها تنتهي دائمًا في الحافظة (في هذا التطبيق بغض النظر عن النص المنسوخ). بدلا من "الأمر الشرير" يمكنك الآن أن تأتي بالكثير من الأشياء القبيحة. يصبح الأمر برمته قاتلاً إذا تم استخدام فاصل سطر في نهاية السطر لتنفيذ الكود على الفور:

27670b8ba9840e688369822a3fcfb2d9

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

27670b8ba9840e688369822a3fcfb2d9

يمكن معالجة الحافظة (بشكل مختلف) حتى بدون استخدام JavaScript:

27670b8ba9840e688369822a3fcfb2d9

إذا قمت بوضع علامة على النص المطلوب، على سبيل المثال في أحدث إصدار من Firefox (الإصدار 45.0)، فلن يكون النص هو الذي ينتهي في الحافظة، بل النص الموجود خلفه.

يمكن تجربة كلا الطريقتين مباشرة هنا. هنا متغير JS:

See the Pen Pastejacking #1 by David Vielhuber (@vielhuber) on CodePen.

بالإضافة إلى متغير CSS:

See the Pen Pastejacking #2 by David Vielhuber (@vielhuber) on CodePen.

عودة