محمـــد عبــد الباســط / مُبـــرمج من مِصـــر

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

أحببــت هنــا أن أشــارك معكــم عبــر (أراجيــك) تجــربتي فى إكتشــاف الثغــرة بشكــل أكثر تفصيـلاً ، وكيفيــة اكتشافي لها .. ربمـا تكون مرجعـاً مفيــداً للمبــرمجيــن والهاكــرز ذوي القبعــات البيضــاء والمصمميـن ، فى عالمنــا العــربي كله ..

البــداية

بــدأ كل شيئ بشكـل عفــوى وبسيـط للغاية ، عندمـا وصلنـى تنبيـه من الفيسبـوك بقيــام أحد مستخدمي الفيسبـوك بمتابعتـي ، ومن ثمّ قمت بالضغط على أيقــونة التنبيهــات ومن خلالها إلى قـائمة المتابعيــن ..

 لاحظــت بعد الدخــول إلى الصفحة أن رابط الصفحـة كان بهــذا الشكــل :

h**ps://www.facebook.com/symbian.symoh?sk=followers&notif_ids[0]=100000304294463&notif_ids[1]=1637358400&notif_ids[2]=685173931&notif_ids

لاحظت أن الرابط بـه معلومات ومتغيــرات لم يتم تغليفها بالشكـل الصحيح ، أحدهــا المتغيــر notif_ids ، والذي يحتــوى على أرقــام التعــريف الخاصة بالملف الشخصــي ( Profile id ) لكل مستخـدم قام بمتابعتــى ، بحسب ترتيب توقيــت المتابعــة ..

وبالتالي فهـو يعمـل كمؤشــر لترتيب قائمة المتابعيــن حسب توقيــت المتابعة ..

لذلك ، قمت بعمــل تغييــر لرقم من الـ ( ids ) إلى الرقم 4 ، وهو الرقم الخاص بحســاب مؤسس الفيسبـوك (مارك زوكــربيـرج) ..

 وحـدث ماتوقعتــه !

 *************

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

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

ثم قمت بإرســال الرسالة التاليــة إلى إدارة الفيسبــوك ، تشــرح لهم وجود ثغـــرة :

Vulnerability Scope: Main Site (www.facebook.com) *.facebook.com
Title: URL Manipulation
Product / URL: https://www.facebook.com/symbian.symoh?sk=followers&notif_ids%5B0%5D=4
Description and Impact: Facebook is not verifying the followers from the server side, this is gonna lead to a url manipulation through editing the “notif_ids[x]” variable to any facebook profile id you want to be followed by and deceive anybody to get some trust and endorsement as this is a clearly known as social engineering nowadays, And i think this could lead to another malicious behave.

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

 

email1

وبالفعــل ، قامت إدارة الفيسبــوك بمكافئتي ماديــاً بمبلــغ 500 دولار ، ومعنــوياً بإدراج إسمـي فى قائمة الشكر لذوي القبعات البيضاء المساهمين في الكشف عن الثغرات الامنيـــة.

white-hats

شــرح الثغـــرة :

هــذه العمليــة التى قمت بها يُطلق عليها إسم ( url manipulation ) ، وهي تعتبــر أمراً خطيراً للغاية على المستــوى الأمنى ، بسبب عدم التحقق من جانب الخـادم Server Side Verification ، إذا كان مارك زوكـربيرج قام بمتابعتي فعلاً على حسابي للفيسبــوك أم لا ..

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

شخصيـاً ، اعرف الكثير من المواقع الكبــرى المميــزة التى عانت الأمــرّين بسبب عدم التحقق من جانب السيـرفر ، وتمــرير المتغيــرات للمعالجــة بشكــل مباشر من جانب المستخدميــن ، وأوضحهــم مثــال الفيسبــوك مؤخــراً !

***************

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

لمتابعة محمد عبد الباسط عبر فيسبوك و تويتر