1 المقدمة
ملف تعريف الارتباط ، أو ملف تعريف ارتباط HTTP، ملف تعريف ارتباط الويب، ملف تعريف ارتباط المتصفح هو جزء صغير من البيانات يتم إرسالها من موقع الويب ويتم تخزينها في متصفح المستخدم عند تصفح هذا الموقع. في كل مرة يقوم فيها المستخدم بتحميل موقع ويب، سيقوم المتصفح تلقائيًا بإرسال ملفات تعريف الارتباط إلى خادم الويب لإعلام موقع الويب بالإجراءات السابقة للمستخدم.
تم تصميم ملفات تعريف الارتباط لتكون آلية موثوقة تساعد مواقع الويب على تذكر معلومات الحالة (مثل العناصر الموجودة في عربة التسوق) أو تخزين أنشطة المستخدم (بما في ذلك النقرات).رابط أو تسجيل دخول أو صفحات تمت زيارتها خلال الأسبوع أو الشهر أو السنة،... ).
على الرغم من أن ملفات تعريف الارتباط لا يمكنها حمل الفيروسات، ولا يمكنها تثبيت برامج ضارة على جهاز الكمبيوتر الخاص بك، فإن استخدام ملفات تعريف الارتباط للتتبع، وخاصة ملفات تعريف الارتباط التابعة لجهات خارجية، يعتبر وسيلة لتحديد المعلومات الشخصية من سجل تصفح المستخدمين. يمكن لملفات تعريف الارتباط حفظ كلمات المرور أو المحتوى الذي يدخله المستخدمون في نماذج html، مثل أرقام بطاقات الائتمان أو العناوين الشخصية.
عندما يزور المستخدم موقع ويب لأول مرة، يتم إرسال ملف تعريف الارتباط من خادم الويب إلى المتصفح وتخزينه على جهاز الكمبيوتر الخاص به. وبعد ذلك، عندما يعود إلى الموقع، سيتعرف عليه الموقع بسبب المعلومات المحفوظة في ملف تعريف الارتباط.
تعد ملفات تعريف الارتباط للمصادقة طريقة شائعة تستخدم لتحديد ما إذا كان المستخدم قد قام بتسجيل الدخول إلى موقع ويب أم لا. وبدون هذه الآلية، سيكون من الصعب على موقع الويب معرفة متى يتم إرسال المعلومات الشخصية إلى المستخدم، وإجبار المستخدم على تسجيل الدخول عدة مرات. على الرغم من أن ملفات تعريف الارتباط للمصادقة مريحة للغاية، إلا أنها تخلق فرصًا للمتسللين لقراءة البيانات الحساسة في ملفات تعريف الارتباط، وبالتالي تنفيذ إجراءات تضر المستخدمين.
2. نظرة عامة على ملفات تعريف الارتباط HTTP
2.1. تاريخ
مصطلح ملف تعريف الارتباط مشتق من مصطلح ملف تعريف الارتباط السحري، وهو جزء ثابت من البيانات يتم إرسالها واستلامها بواسطة برنامج كمبيوتر. جاء مبرمج يدعى Lou Montuli بفكرة استخدام ملفات تعريف الارتباط السحرية في اتصالات الويب في عام 1994. في ذلك الوقت، كان يعمل لدى Netscape Communications، في مشروع لتطوير تطبيقات التجارة الإلكترونية لشركة MCI. تم استخدام ملفات تعريف الارتباط كحل في بناء عربات التسوق الافتراضية، مما يساعد خوادم MCI على عدم حفظ حالة المعاملات ولكن بدلاً من ذلك، يتم تخزينها على كمبيوتر المستخدم.
كتب مونتولي بالتعاون مع جون جياناندريا المواصفات الأولى لملفات تعريف الارتباط الخاصة بـ Netscape. الإصدار 0.0 بيتا من Mosaic Netscape، الذي تم إصداره في 13 أكتوبر 1994، يدعم ملفات تعريف الارتباط. أدى الاستخدام الأول لملفات تعريف الارتباط (خارج المختبر) إلى التحقق مما إذا كان العميل الذي يزور موقع Netscape على الويب قد زاره من قبل أم لا. تم منح مونتولي براءة اختراع لملفات تعريف الارتباط في عام 1995. وتضمن الإصدار 2 من Internet Explorer (الذي تم إصداره في أكتوبر 1995) استخدام ملفات تعريف الارتباط.
لم يكن إدخال ملفات تعريف الارتباط منتشرًا على نطاق واسع خلال هذا الوقت. على وجه الخصوص، يتم قبول ملفات تعريف الارتباط بشكل افتراضي، ولا يتم إخطار المستخدمين بوجودها. لم يعرف الجمهور عن ملفات تعريف الارتباط إلا بعد نشر مقال عنها في صحيفة فاينانشيال تايمز في 12 فبراير 1996. ومنذ ذلك الحين، حظيت ملفات تعريف الارتباط بالكثير من الاهتمام، وخاصة المعلومات الخاصة التي تحتوي عليها. تمت مناقشة ملفات تعريف الارتباط في جلستي استماع للجنة التجارة الفيدرالية الأمريكية في عامي 1996 و1997.
بدأت المناقشة الأولى للمواصفات الرسمية لملفات تعريف الارتباط في أبريل 1995. وتم تشكيل مجموعة خاصة ضمن فريق عمل هندسة الإنترنت (IETF) بغرض تنفيذ هذا العمل. أخيرًا، تم نشر المواصفات من قبل المجموعة في فبراير 1997. وقد حددت المواصفات ملفات تعريف الارتباط الخاصة بالطرف الثالث على أنها إما غير مقبولة للجميع، أو على الأقل غير ممكّنة افتراضيًا.
في أبريل 2011، تم نشر المواصفات القياسية لملفات تعريف الارتباط للاستخدام العملي في الوثيقة RFC 6265 .
2.2. المصطلح
ملفات تعريف الارتباط للجلسة
ملفات تعريف الارتباط الخاصة بالجلسة، والتي تسمى أيضًا ملفات تعريف الارتباط في الذاكرة أو ملفات تعريف الارتباط العابرة، موجودة فقط في الذاكرة المؤقتة أثناء انتقال المستخدم إلى موقع الويب. إذا لم يتم تعيين تاريخ انتهاء الصلاحية أو فترة الصلاحية في وقت إنشاء ملف تعريف الارتباط، فسيتم تعيين ملف تعريف ارتباط الجلسة. عادةً ما تقوم متصفحات الويب بحذف ملفات تعريف الارتباط الخاصة بالجلسة تلقائيًا عندما يقوم المستخدم بإغلاق المتصفح.
ملفات تعريف الارتباط الدائمة
تعمل ملفات تعريف الارتباط الدائمة على إطالة جلسة المستخدم. إذا تم تعيين ملف تعريف الارتباط الدائم على الحد الأقصى للعمر لمدة عام واحد، فخلال تلك الفترة، سيتم إرسال القيمة الأولية المحددة في ملف تعريف الارتباط إلى الخادم في كل مرة يزور فيها المستخدم موقع الويب. ويمكن استخدامه لتسجيل أجزاء مهمة من المعلومات، مثل كيفية زيارة المستخدم للموقع لأول مرة. ولهذا السبب، تُسمى ملفات تعريف الارتباط الدائمة أيضًا بملفات تعريف الارتباط للتتبع.
ملفات تعريف الارتباط الآمنة
ملف تعريف الارتباط الآمن هو سمة أمان يتم تمكينها عند استخدام HTTPS، مما يضمن تشفير ملف تعريف الارتباط دائمًا عند نقله من العميل إلى الخادم، مما يساعده على تجنب التنصت والكشف عن المعلومات. بالإضافة إلى ذلك، يجب أن تتوافق جميع ملفات تعريف الارتباط مع سياسة المصدر نفسه للمتصفح.
ملفات تعريف الارتباط HttpOnly
يتم دعم سمة HttpOnly لملفات تعريف الارتباط بواسطة معظم المتصفحات. سيتم استخدام ملف تعريف الارتباط لجلسة HttpOnly فقط في طلب HTTP (أو HTTPS) واحد، مما يحد من الوصول من خلال واجهات برمجة التطبيقات غير HTTP مثل Javascript. يخفف هذا التقييد من سرقة ملفات تعريف الارتباط عبر ثغرات البرمجة النصية عبر المواقع (XSS) ولكنه لا يلغيها.
ملفات تعريف الارتباط الخاصة بالطرف الثالث
ملفات تعريف الارتباط للطرف الأول هي ملفات تعريف الارتباط التي تنتمي إلى نفس المجال (أو المجالات الفرعية داخل نفس المجال) المعروضة في شريط عنوان المتصفح. ملفات تعريف الارتباط التابعة لجهات خارجية هي ملفات تعريف ارتباط تنتمي إلى نطاقات مختلفة يتم عرضها في شريط عناوين المتصفح. قد تحتوي مواقع الويب على محتوى من نطاقات جهات خارجية (مثل إعلانات البانر)، والتي يمكن من خلالها تتبع سجل تصفح المستخدمين. تحظر إعدادات الخصوصية في معظم المتصفحات ملفات تعريف الارتباط لتتبع الجهات الخارجية.
على سبيل المثال، لنفترض أن أحد المستخدمين قام بزيارة موقع الويب example1.com . يحتوي هذا الموقع على إعلان من ad.foxytracking.com. عند تحميله، سيتم حفظ ملفات تعريف الارتباط الخاصة بـ ad.foxytracking.com. ثم يقوم بعد ذلك بزيارة موقع ويب آخر (example2.com)، والذي يحتوي أيضًا على إعلان من ad.foxytracking.com، ويقوم أيضًا بتعيين ملف تعريف ارتباط ينتمي إلى ad.foxytracking.com. وأخيرًا، سيتم إرسال ملفي تعريف الارتباط هذين إلى المعلن عند تحميل الإعلانات أو الوصول إلى موقعه على الويب. يمكن للمعلنين استخدام ملفات تعريف الارتباط هذه لإنشاء سجل تصفح المستخدم على جميع مواقع الويب التي تحتوي على إعلاناتهم.
في عام 2014، كان هناك عدد قليل من مواقع الويب التي تقوم بتعيين ملفات تعريف الارتباط التي يمكن قراءتها بواسطة أكثر من 100 نطاق تابع لجهة خارجية. في المتوسط، سيحتوي موقع الويب على حوالي 10 ملفات تعريف ارتباط، مع تجاوز الحد الأقصى لعدد ملفات تعريف الارتباط 800 ملف تعريف ارتباط.
سوبركوكي
ملف تعريف الارتباط الفائق هو ملف تعريف ارتباط ينشأ من نطاق المستوى الأعلى، مثل .com، أو لاحقة عامة، مثل .co.uk. من المهم أن يتم حظر ملفات تعريف الارتباط الفائقة بواسطة المتصفحات بسبب بعض المشكلات الأمنية. إذا تم إلغاء الحظر، يمكن للمهاجم الذي يتحكم في موقع ويب ضار إعداد ملف تعريف ارتباط فائق لانتحال صفة طلبات المستخدم، وإرسال الطلبات إلى مواقع الويب الأخرى التي تشترك في نفس نطاق المستوى الأعلى أو اللاحقة العامة. على سبيل المثال، قد يؤدي ملف تعريف الارتباط الفائق الذي نشأ من النطاق .com إلى الإضرار بالطلبات المقدمة إلى example.com، حتى لو لم ينشأ ملف تعريف الارتباط من example.com. يمكن استغلاله لتزييف عمليات تسجيل الدخول أو تغيير معلومات المستخدم.
بسكويت الزومبي
ملفات تعريف الارتباط Zombie هي ملفات تعريف الارتباط التي يتم إعادة إنشائها تلقائيًا بعد أن يقوم المستخدم بحذفها. ويتم ذلك عن طريق برنامج نصي يقوم بتخزين محتويات ملف تعريف الارتباط في موقع آخر، مثل مخزن محتوى Flash، أو متجر HTML5، أو بعض الآليات الأخرى من جانب العميل.
2.3. هيكل ملفات تعريف الارتباط
ملف تعريف الارتباط بحجم 4 كيلو بايت، يتضمن 7 مكونات رئيسية:
- اسم
- قيمة
- تنتهي (تاريخ انتهاء الصلاحية)
- المسار (المسار إلى حيث يكون ملف تعريف الارتباط صالحًا، "/" يعني أن ملف تعريف الارتباط صالح في أي مسار)
- اِختِصاص
- يؤمن
- المتشعب فقط
مطلوب المكونين الأولين (الاسم والقيمة).
2.4. يستخدم
إدارة الجلسة
يمكن استخدام ملفات تعريف الارتباط للحفاظ على البيانات المتعلقة بالمستخدم عبر زيارات موقع الويب المتعددة. تعد ملفات تعريف الارتباط حلاً لإنشاء عربة التسوق، وهي عربة تسوق افتراضية تساعد المستخدمين على حفظ العناصر التي يختارونها أثناء تصفح المنتجات.
غالبًا ما تقوم تطبيقات عربة التسوق الحالية بتخزين قائمة العناصر الموجودة في عربة التسوق في قاعدة البيانات من جانب الخادم بدلاً من تخزينها في ملف تعريف ارتباط من جانب العميل. سيرسل خادم الويب عادةً ملف تعريف ارتباط يحتوي على معرف الجلسة - معرف الجلسة (وهو فريد). سيعيد متصفح الويب معرف الجلسة هذا مع طلب التسوق الخاص بكل مستخدم.
يعد السماح للمستخدمين بتسجيل الدخول إلى مواقع الويب تطبيقًا آخر لملفات تعريف الارتباط. عادةً، أثناء تسجيل الدخول الأول، سيرسل خادم الويب إلى العميل ملف تعريف ارتباط يحتوي على معرف الجلسة. سيقوم المستخدمون بإرسال معلوماتهم وسيقوم تطبيق الويب بمصادقة الجلسة، ثم يسمح للمستخدم باستخدام خدماته.
توفر ملفات تعريف الارتباط آلية تفاعل سريعة ومريحة بين العميل والخادم. إحدى مزايا ملفات تعريف الارتباط هي أنها تقوم بتخزين معلومات المستخدم في ملف موجود على جهاز الكمبيوتر الخاص بالمستخدم. وهذا يقلل بشكل كبير من مساحة تخزين الخادم ووقت المعالجة.
شخصية
يمكن استخدام ملفات تعريف الارتباط لتذكر المعلومات الشخصية للمستخدم عند زيارته لموقع ويب، ولعرض محتوى أكثر صلة بهذا المستخدم في كل مرة يزور فيها موقع الويب مرة أخرى.
ومن الأمثلة البارزة على ذلك ميزة توصية الكتب على موقع amazon.com. عندما ينقر المستخدم على كتاب، ستقدم أمازون اقتراحات حول الكتب التالية التي يجب على المستخدم الاطلاع عليها. تعتمد هذه الاقتراحات على الكتب التي تصفحها المستخدمون سابقًا والكتب التي اختاروا شرائها.
مثال آخر هو ميزة اقتراحات البحث في بحث Google. عند تسجيل الدخول باستخدام حسابك الشخصي وإجراء بحث، ستقدم Google اقتراحات "من أجلك فقط"، وستظهر النتائج التي تريدها دائمًا في أعلى القائمة.
شاشة
يمكن استخدام ملفات تعريف الارتباط للتتبع لتتبع سجل تصفح المستخدم. ويمكن القيام بذلك أيضًا باستخدام عنوان IP الخاص بالكمبيوتر الذي يرسل الطلب إلى موقع الويب أو الاعتماد على الحقل المُحيل لرأس طلب HTTP، لكن ملفات تعريف الارتباط توفر المزيد من الدقة. هذا يفعل كما يلي:
- إذا قام أحد المستخدمين بزيارة موقع ويب، ولكن هذا الطلب لا يحتوي على ملف تعريف ارتباط، فسيفترض الخادم أن هذه هي المرة الأولى التي يزور فيها المستخدم هذا الموقع؛ سيقوم الخادم بإنشاء سلسلة عشوائية وإرسالها كملف تعريف ارتباط إلى المتصفح مع صفحة الويب المطلوبة.
- من هذه النقطة فصاعدًا، سيتم إرسال ملف تعريف الارتباط تلقائيًا بواسطة المتصفح إلى الخادم في كل مرة يتم فيها طلب صفحة ويب جديدة في هذا الموقع، وسيقوم الخادم بإرجاع صفحة الويب المطلوبة كالمعتاد، ولكن مع عنوان URL لصفحة الويب هذه وعنوان URL الخاص بها. الوقت. سيتم حفظ الوصول في ملف سجل. من خلال تحليل المعلومات المحفوظة في ملف السجل هذا، سيتم الكشف عن سجل تصفح الشخص ومواقع الويب التي يزورها بشكل متكرر وعادات التصفح.
2.5. تعيين

ملفات تعريف الارتباط هي البيانات المرسلة من الخادم إلى المتصفح. سيقوم المتصفح بعد ذلك بإرساله مرة أخرى إلى الخادم دون تغيير المحتوى بداخله، في كل مرة يرسل المستخدم طلبًا إلى موقع الويب. يمكن أيضًا تعيين ملفات تعريف الارتباط بواسطة لغة برمجة نصية، مثل Javascript.
يمكن لكل متصفح ويب تخزين ما لا يقل عن 300 ملف تعريف ارتباط في ملف بحجم 4 كيلو بايت، وما لا يقل عن 20 ملف تعريف ارتباط لكل خادم أو مجال.
قم بإعداد ملفات تعريف الارتباط
يتواصل خادم الويب والمتصفح مع بعضهما البعض عبر HTTP (بروتوكول نقل النص التشعبي). على سبيل المثال، للوصول إلى الصفحة http://www.example.org/index.html، يتصل المتصفح بالخادم عن طريق إرسال طلب HTTP مثل هذا:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
سوف يستجيب الخادم عن طريق إرسال حزمة نصية بسيطة للمتصفح، تسمى استجابة HTTP. قد تحتوي هذه الحزمة على سطر يحتوي على محتويات ملف تعريف الارتباط:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
Set-Cookie هو حقل يوجه المتصفح إلى تخزين ملف تعريف الارتباط وإرساله إلى الخادم في المستقبل في كل مرة يكون هناك طلب إلى الخادم (إذا كان ملف تعريف الارتباط لا يزال منتهية الصلاحية). على سبيل المثال، يرسل المتصفح طلبًا إلى http://www.example.org/spec.html عن طريق إرسال طلب HTTP كالتالي:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
هذا طلب إلى صفحة أخرى تنتمي إلى نفس الخادم. في هذه الحالة، سيفهم الخادم أن هذا الطلب مرتبط بالطلب السابق، ويستجيب عن طريق إرسال صفحة الويب المطلوبة إلى المتصفح، وربما إضافة قيم ملفات تعريف الارتباط الأخرى.
يمكن تعديل قيمة ملف تعريف الارتباط بواسطة الخادم عن طريق إرسال حقل Set-Cookie: name=value في استجابة HTTP إلى المتصفح. سيقوم المتصفح بعد ذلك باستبدال قيمة ملف تعريف الارتباط القديمة بهذه القيمة الجديدة.
يمكن أن تتضمن قيمة ملف تعريف الارتباط أي حرف ASCII قابل للطباعة باستثناء "،" و"؛" ومساحة بيضاء. لا يمكن أن تحتوي أسماء ملفات تعريف الارتباط أيضًا على الحرف "="، لأن هذا هو الحرف الذي يفصل بين الاسم والقيمة.
يستخدم أحيانًا مصطلح ملف تعريف الارتباط الفتات للإشارة إلى زوج الاسم والقيمة لملف تعريف الارتباط.
يمكن أيضًا تعيين ملفات تعريف الارتباط بواسطة Javascript أو لغة برمجة نصية مشابهة. في Javascript، يتم استخدام كائن document.cookie لتعيين ملفات تعريف الارتباط. تعد سمة HttpOnly مسؤولة عن منع البرامج النصية السيئة من قراءة محتوى ملفات تعريف الارتباط.
خصائص ملفات تعريف الارتباط
إلى جانب زوج الاسم والقيمة، يمكن للخادم أيضًا تعيين عدد من خصائص ملفات تعريف الارتباط الأخرى: المجال، والمسار، وانتهاء الصلاحية، والحد الأقصى للعمر، والآمن، وHttpOnly. لن يرسل المتصفح هذه السمات إلى الخادم، بل سيرسل فقط زوج الاسم والقيمة. يستخدم المتصفح هذه السمات لتحديد متى يتم حذف ملفات تعريف الارتباط أو حظر ملفات تعريف الارتباط أو إرسال ملفات تعريف الارتباط إلى الخادم.
المجال والمسار
يحدد المجال والمسار نطاق ملف تعريف الارتباط. إنها تسمح للمتصفح بتحديد وقت إرسال ملفات تعريف الارتباط إلى الخادم. إذا لم يتم تحديدها، فإنها ستنتقل افتراضيًا إلى مجال ومسار الكائن المطلوب. ومع ذلك، هناك فرق بين ملف تعريف الارتباط الذي تم تعيينه لـ foo.com بدون سمة المجال، ومجموعة ملفات تعريف الارتباط التي تحتوي على سمة المجال foo.com. في الحالة الأولى، لن يتم إرسال ملف تعريف الارتباط إلا عند وجود طلب إلى foo.com. وفي الحالة الأخيرة، سيتم إرسال ملف تعريف الارتباط إلى جميع النطاقات الفرعية لموقع foo.com. ما يلي هو مثال لتوجيه Set-Cookie من موقع ويب بعد تسجيل دخول المستخدم، من طلب إلى docs.foo.com:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
لا يحتوي ملف تعريف الارتباط الأول LSID على سمة مجال ويحتوي على المسار/الحسابات. لن يرسل المتصفح ملفات تعريف الارتباط إلا عندما تكون الصفحة المطلوبة موجودة في docs.foo.com/accounts. يتم إرسال ملفي تعريف الارتباط المتبقيين، HSID وSSID، مرة أخرى إلى الخادم إذا كان هناك طلب إلى أي نطاق فرعي لـ foo.com.
يمكن أيضًا تعيين ملفات تعريف الارتباط للنطاق العلوي ومجالاته الفرعية فقط. لن يُسمح بتعيين ملفات تعريف الارتباط على www.foo.com من www.bar.com لأسباب أمنية.
انتهاء الصلاحية والحد الأقصى للعمر
تخبر سمة انتهاء الصلاحية المتصفح بموعد حذف ملف تعريف الارتباط. يبدو التاريخ في انتهاء الصلاحية كما يلي: "Wdy، DD Mon YYYY HH:MM:SS GMT". يُستخدم Max-Age أيضًا للإشارة إلى تاريخ انتهاء صلاحية ملف تعريف الارتباط. لنتأمل المثال التالي:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
تم تعيين ملف تعريف الارتباط الأول على أن تنتهي صلاحيته في 15 يناير 2013، وسيتم استخدامه من قبل المتصفح عند انتهاء صلاحيته. ملف تعريف الارتباط الثاني made_write_conn لا تنتهي صلاحيته، ويتم استخدامه كملف تعريف ارتباط للجلسة، وسيتم حذفه عند إيقاف تشغيل المتصفح. ملف تعريف الارتباط الثالث reg_fb_gate، له تاريخ انتهاء صلاحية في الماضي، وسيتم حذفه على الفور.
آمن وHttpOnly
خصائص Secure وHttpOnly فارغة؛ وبدلاً من ذلك، يشير وجودها إلى أنه تم تطبيق القاعدتين Secure وHttpOnly.
تحافظ السمة الآمنة على نقل ملفات تعريف الارتباط ضمن اتصال مشفر. إذا قام خادم الويب بتعيين ملف تعريف ارتباط بالسمة الآمنة من اتصال غير آمن، فلا يزال من الممكن اعتراض ملف تعريف الارتباط من خلال هجوم الوسيط.
تقوم السمة HttpOnly بتوجيه المتصفح إلى عدم الكشف عن ملفات تعريف الارتباط من خلال اتصال آخر غير HTTP (أو HTTPS)، مثل Javascript، وبالتالي تجعل من الصعب الحصول على ملفات تعريف الارتباط عن طريق استغلال ثغرات البرمجة النصية عبر المواقع (XSS). .
3. بعض المشكلات الأمنية عند استخدام ملفات تعريف الارتباط
إذا كان موقع الويب يستخدم معرف الجلسة لتحديد جلسة المستخدم، فمن المحتمل أن يقوم المهاجم بسرقة ملف تعريف الارتباط لانتحال شخصية المستخدم. فيما يلي بعض السيناريوهات الشائعة لسرقة ملفات تعريف الارتباط:
التنصت
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
يمكن اعتراض حركة المرور في الشبكة وقراءتها بواسطة طرف ثالث (بخلاف المستلم والمرسل). تتضمن حركة المرور هذه ملفات تعريف الارتباط. إذا لم يكن الإرسال مشفرًا، فيمكن للمهاجم قراءة المعلومات الحساسة الموجودة في ملف تعريف الارتباط. ومن خلال الاستفادة من هذه المعلومات، سيقوم المهاجمون بانتحال شخصية المستخدمين للقيام بأعمال خطيرة، مثل المعاملات المصرفية.
يمكن حل هذه المشكلة باستخدام بروتوكول آمن بين كمبيوتر المستخدم والخادم - بروتوكول HTTPS. يمكن للخادم استخدام العلامة الآمنة عند تعيين ملفات تعريف الارتباط. سيتم بعد ذلك إرسال ملف تعريف الارتباط فقط عبر قناة مشفرة، مثل اتصال SSL.
عبر موقع البرمجة
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
يُسمح للغات البرمجة النصية، مثل Javascript، بقراءة قيم ملفات تعريف الارتباط وإرسالها إلى خوادم عشوائية.
لنفترض أن موقع ويب به خطأ في البرمجة النصية عبر المواقع، فيمكن للمتسللين إدراج تعليمات برمجية ضارة، مثل ما يلي:
![Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية Web11: ملفات تعريف الارتباط HTTP وبعض المشكلات الأمنية]()
عندما ينقر الضحية على الرابط أعلاه، سيقوم المتصفح بتنفيذ البرنامج النصي في سمة onclick: إرسال ملف تعريف الارتباط الخاص بالضحية إلى الخادم Attacker.com.
تعد البرمجة النصية عبر المواقع إحدى نقاط الضعف الشائعة لمواقع الويب (احتلت المرتبة الثالثة في قائمة أكثر 10 نقاط ضعف شيوعًا في عام 2013 - وفقًا لـ OWASP).
يمكن الحد من مخاطر هذه الثغرة الأمنية عن طريق تعيين علامة HttpOnly لملفات تعريف الارتباط. في ذلك الوقت، لن يتم الوصول إلى ملفات تعريف الارتباط عن طريق لغات البرمجة النصية.
تزوير عبر الموقع
CSRF (تزوير الطلب عبر المواقع) أو الهجوم بنقرة واحدة، هو وسيلة لاستغلال نقاط الضعف في موقع الويب حيث يتم تنفيذ أوامر غير مصرح بها من قبل الضحايا - المستخدمين المصرح لهم من قبل موقع الويب دون علمهم. .
سوف يخدع CSRF متصفح الضحية لإرسال طلبات http إلى تطبيقات الويب. في حالة عدم انتهاء صلاحية جلسة الضحية، سيتم تقديم الطلبات المذكورة أعلاه مع حقوق المصادقة الخاصة بالضحية.
على سبيل المثال، يجري الضحية بوب معاملات على الموقع الإلكتروني لبنك معين X. فريد هو المهاجم، هذا الرجل يعرف كيفية عمل موقع البنك X عندما يريد تحويل الأموال من الحساب A إلى الحساب B كما يلي:
http://bank.example.com/withdraw?account=accountA&amount=100&for=accountB
سوف يرسل لبوب رسالة خبيثة.
إذا قام البنك X بتخزين معلومات مصادقة المستخدم في ملف تعريف الارتباط، وقام بوب بالنقر فوق الرابط أعلاه، فسيتم تحويل أموال بوب إلى فريد.
للحد من هذه المخاطر، يمكن تعيين معلمات انتهاء الصلاحية لملفات تعريف الارتباط.
4. الخلاصة
تُستخدم ملفات تعريف الارتباط في معظم تطبيقات الويب اليوم. كما أنه يحتوي على مخاطر محتملة، تؤثر بشكل كبير على المستخدمين. لذلك، من جانب المطور، نحتاج إلى فهم ملفات تعريف الارتباط بوضوح ومعرفة كيفية تعيين المعلمات الضرورية حتى يكون التطبيق أكثر أمانًا ضد هجمات المتسللين.