بسم الله الرحمن الرحيم
المقالة التالية مترجمة من موقع MicrosoftSecurity
و هي تتحدث عن الطريقة التي تمت بها اختراق هذا الموقع منذ مدة قصيرة (بخصوص روابط الصفحات فيوجد أخطاء بالتنسيق وذلك نظراً لتحول اتجاه الكتابة فحاول قراءة الروابط من المقال الأصلي بالأعلى):
تم اختراق صفحة التسجيل الموجودة في موقع (Microsoft UK) حيث استعمل المخترق ثغرة موجودة في الوسيط parameter الموجود في قالب التسجيل الذي كان موجود على الرابط :
http://www.microsoft.co.uk/events/net/eventdetail.aspx?eventid=8399 [خارج الخدمة الأن]
المخترق الذي عرف عن نفسه باسم "rEmOtEr" قرر اختراق الموقع بواسط الطريقة المعروفة (SQL Injection)، عن طريق التحكم بالوسطاء (المتحولات) الموجودين في قالب التسجيل و الذين يمرروا عن طريق شريط العنوان (طريقة الـ Get).
الخطأ الذي استغله هذا المخترق هو نسيان مبرمجي الموقع لإجراء عملية تنقية للوسطاء (إزالة بعض المحارف التحكمية عند تمريرها مع هذا الوسيط و التي تسبب أخطاء في ال SQL) و هذا ما سمح له بإدخال أي كود برمجي خاص بال SQL عن طريق أي وسيط منهم.
و من المعروف أنه بواسطة هذه الطريقة (SQL Injection) يستطيع المخترق معرفة أسماء الجداول و أسماء الأعمدة و محتوياتها (كارثة)، أي جميع المعلومات الموجودة في قاعدة البيانات أصبحت بمتناول هذا القرصان.
*خطوات اكتشاف كلمات السر المخزنة في قاعدة البيانات*
الخطوات التالية تعرض و باختصار كيفية حصوله على أسماء المستخدمين و كلمات سرهم:
1. قام المخترق بتعبئة الوسطاء الذين أسلفنا ذكرها بمحارف خاصة (“ ‘ ” و “--“) حيث يعرف أي مبرمج SQL أن هذه المحارف تستخدم داخل اللغة كمحارف أوامر و تحكم(مثل الـ ; في الـ ++C).
و حيث أن هذا الوسيط لا تجري عليه أي تنقية من مثل هذه المحارف فقد تم التلاعب بالوسطاء التي تمرر في شريط العنوان.
2. يحتوي شريط العنوان على وسيطين هما eventID و v2
http://www.microsoft.co.uk/events/net/PreR...p83968&v2=1
و بوضع فاصلة علوية بعد الوسيط الثاني:
أعطى الموقع الرسالة التالية:

صورة رسالة الخطأ تحتوي على الكثير من المعلومات حول خواص قاعدة البيانات و بنيتها و التي استعملها المخترق لمعرفة ما يريده.
بعد رؤية الرسالة التالية نستطيع استخلاص نتيجتين:
- رسائل الأخطاء الخاصة بالسيرفر مفعلة، و من المعلوم أن هذه الرسائل لا يستخدمها مطور الموقع إلا في فترة بناء الموقع و تجريبه و تلغى هذه الخاصية بعد الانتهاء من الموقع و وضعه على الشبكة العالمية، لأن مثل هذه الرسائل ممكن أن تحتوي على معلومات حساسة جداً.
- الوسيط الثاني لا تجرى عليه أي عملية تنقية من المحارف الخاصة، فهذا يؤدي إلى تمرير ما نريد من أوامر SQL بواسطة هذا الوسيط.
3. عن طريق الحركة السابقة استطاع المخترق جمع معلومات قيمة و كافية بتمريره لأوامر برمجية عن طريق الوسيط (v2)، و لكما ضهرت له رسالة خطأ جديدة اكتملت لديه الصورة شيئاً فشيئاً.
أمر الـ SQL التالي (1 having 1=1--) و ضع مع صديقنا الوسيط (v2)، و عند وضع الأمر السابق مع أي أمر كان يتم التنفيذ لأنه دائماً محقق (1=1 !!!!).
الأمر:
و النتيجة كما هو متوقع المزيد من رسائل الخطأ و المزيد من المعلومات.
المخترق استطاع رؤية الجدول (MultivenueLists) و الحقول recordID, venueStatus
4. حالما استطاع المخترق معرفة هذه الأسماء، قام بإدخال بعض الجمل داخل قاعدة البيانات.
…ster.aspx?eventID=p83968&v2=1 update MultivenueLists set venueStartDate=’hacked by rEmOtEr’;--
هذا المثال يعرض كيفية إدخاله لاسمه عن طريق وضع:
1 update MultivenueLists set venueStartDate=’hacked by rEmOtEr’;--
الصورة بعد الأدخال:

5. باستخدام الأمر (UNION SELECT) استطاع الوصول لأسماء المستخدمين و كلمات سرهم (بواسطة التخمين استطاع معرفة اسم الحقل الذي يحتوي على أسماء المستخدمين و هو users، و هذا الاسم غالباً ما يتم استخدامه...).
هذه هي صيغة الأمر:
…ster.aspx?eventID=p83968&v2=-1 union select 1,2,3,4,username,6,7 from users--

من هنا تم اختيار اسم مستخدم لتظهر كلمة سره
و للحصول على كلمة السر:
…ster.aspx?eventID=p83968&v2=-1 union select 1,2,3,4,password,6,7 from users—

كلمات السر لبعض المستخدمين
6. بعد عدة محاولات عرف المخترق اسم المستخدم و كلمة السر الخاصة به.
*الخطوات المستخدم من قبل المخترق لتغيير شكل الصفحة*
1. بعد عملية جمع المعلومات. تم تهيئة صفحة و وضعها على سيرفر خارجي لاستبدالها بالصفحة الحالية.
2. أدخل المخترق كود HTML في قاعدة البيانات الخاصة بالموقع المخترق:
<link xhref=http://h.1asphost.com/remoter/css.css type=text/css rel=stylesheet>
3. صفحة التسجيل للموقع يتم أخذ معلوماتها من قاعدة البيانات (نظام الـ CMS المعروف). و بمجرد وضع هذا الأمر سيتم أخذ الصفحة من الالرابط المحدد في ذلك السطر.
4. صورة الصفحة بعد تغييرها (الظاهر المخترق من مشجعي الأخضر D:).

............................






