النتائج الاولية : 10 ثغرات يجب ان اضع لها الف حساب في مشاريع الويب المستقبلية



مقدمة :

كنت اعقتد انه لن ياتي اليوم الذي الغي فيه نظام الويندوز و اثبت فيه الكالي لينوكس ، لكن في عالم اصبح فيه الاختراق هواية و الخصوصية مجرد بيانات تنتقل عبر اسلاك الكتورنية ، لم يعد بدي حيلة سوى ان يصبح هدفي من عام 2020 هو التحول من تطوير تطبيقات عادية الى تطبيقات محمية بتقنيات الامن المعلوماتي  security based applications .
اول خطوة كانت البحث عن مختلف الثغرات الامنية التي يمكن ان يقع فيها اي شخص مثلي لم يكن مهتم من قبل بتامين المواقع التي يبرمجها واسفر البحث عن ملخص ل 10 ثغرات امنية عليا ان احسب لها الف حساب ، طبعا لن اتحدث في هذا المقال عن كيف تحمي نفسك منها حتى لا انشر طريقة ومنطق تفكيري فهذا بنفسه يعتبر ثغرة رغم كونها غير مدرجة في القائمة التي ساستهلها  بالثغرة رقم 1 من حيث الشهرة لدرجة انها لم تصبح مخيفة كثيرا حتى المبتدئيين مثلي يمكنهم حلها بدون مشاكل خصوصا باستخدام البي اش بي 5 او نسخة احدث منها .

الاسكيال انجكشن SQL INJECTION :

فكرة استغلال هاته الثغرة هو ان يقوم الهاكر بكتابة اومر الاسكيال داخل مربعات الادخال التي سترسل لتكون في استعلام اسكيال ، يمكن لهاته التغرة ان تتسبب في حذف قاعدة البيانات باكملها .
 لا انوي التعمق في شرح هذه الثغرة في هذه المقالة،  لكن اترك لك الفيديو التالي الذي يوضح نوعا ما هاته الثغرة اكثر .


الكروس سايت سكربتنغ XSS -CROSS SITE SCRIPTING :

تنشأ هذه الثغرة عندما تسمح للمستخدم بادخال اوامر السكربتات التي يترجمها وينفذها المتصفح  كلغة JAVASCRIPT مثلا في قاعدة البيانات ، وبتالي تسمح الهاكر بحقن قاعدة البيانات باوامر خطير تفعل عندما يترجمها المتصفح  ابسط هذه الاوامر تحويل جميع المستخدمين من موقعك الى موقع اخر و اخطرها سرقة جلسات المستخدمين من اجل الحصول على حق الوصول الى تعديل بيانات حساسة بمعنى اخر اذا كانت هذه الثغرة متواجدة في تطبيقك فهذا يستلزم ان تتواجد معه ثغرة سيشن هيجاكين SESSION HIJACKING .

 

سيشن هيجاكين SESSION HIJACKING:

عندما تقوم بفتح سيشن جديدة فان جميع الاستعلامات التي يرسلها المستخدم صاحب السيشن ترفق معها مايسمى ب SESSION_ID وهو محدد يربط بين جهاز المستخدم ومعلومات السيشن (الجلسة) الخاصة به المخزنة في السرفر، مثل صلاحيات التعديل والحذف ، ايميل المستخدم وحتى كلمة المرور احيانا هذا يعتمد على مدى غباء و كسل المبرمج. لانه بالعموم اي معلومة تخزن في المتغير العام  SESSION_$
الثغرة تسمح للهاكر بسرقة هذا SESSION_ID من جهاز المستخدم واحيانا يكون باستغلال ثغرة XSS اذا كانت متواجدة.
السيشن اي دي باختصار هي هوية المستخدم في الموقع عندما تتواجد فان الموقع يعطيك كل الصلاحيات المرتبط بك ، لهذا الهاكرز اخترعو برمجيات تسمح لهم بسرقة هاته السيشن وبتالي سرقة هوية صاحبها ، لو كان صاحبها مثلا مسؤول الموقع لا يمكنني ان اتخيل مايمكن ان يفعلوه به باختصار كارثة طبيعية حية . 


قراءة كود السورس SOURCE CODE REVELATION :

بكشل افتراضي ملفات البي اش بي تنفذ  في الخادم و من ثم يقوم هذا الاخير بارسال النتيجة على شكل ملف html غالبا. لكن في بعض الاحيان يحدث خلل يتسبب في ارسال ملفات php كما هي الى المتصفح فتعرض محتواها ، لو كانت الملفات التي عرضمحتواها مهمة فان الامر سيبصح مصيبة كبيرة  كقراءة محتوى ملف الاتصال بقاعدة البيانات !! 

ثغرة حصانة تضمين الملف remote file inclusion :

تنشأ ثغرة حصانة تضمين الملف تحدث عندما يغفل المبرمج عن التحقق من نوع الملف المرفوع على السرفر من قبل المستخدمين او عندما يقوم بتضمين ملف برابط خارجي

 include("www.milf_kariji.com" )

تزوير الطلب عبر المواقع Cross Site Request Forgery CSRF:

ربما سمعت من قبل عن سرقت اموال حسابات البنوك من خلال ارسال صورة في ايميل الضحية ، كيف يمكن فعل ذلك ؟؟ الاجابة هي باستغلال هاته الثغرة الامنية الخطيرة CSRF ، دعنا نوضح كيف يستغل الهاكر هاته الثغرة .
بدلا من ان يستغل الهاكر ثقة المستخدم في الموقع فانه يستغل ثقة الموقع في المستخدم بحيث يقوم الهاكر بتزوير طلب تغيير كلمة المرور من خلال التعديل على البيانات المرفقة مع الرابط  ويقنع الضحة بالنقر عليه مستغلا امكانية اخفاء الرابط بنص او صورة  بلغة الاش تي ام ال مثلا هذا الرابط www.google.com هو موقع غوغل او هذا ما يظهر عليه امامك لكن عند النقر عليه فانني من المفترض ان اجعلك تقوم بالاشتراك في قناتي المبرمج لكن لان موقع يوتوب محي ضد هذه الثغرة فانه سيعيد التاكد من رغبتك في الاشتراك 

صورة توضح نتيجة نقرك على رابط www.google.com المتواجد في التدوينة

يمكنك الان ان تتخيل بدلا من الاشتراك في القناة اضع لكم رابط تغيير كلمة مرور حساب فيس بوك

 www.facebook.com/changePassword?newPassword=12345 
 ملحوظة: رابط تغيير كلمة مرور فيس بوك ليس الرابط الحقيقي


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


هجوم تجاوز المسار Directory Traversal Attack:

السرفر او الخادم ليس اكثر من مجرد جهاز حاسوب يسمح لك بتشغيل التطبيقات والوصول الى ملفاته عن بعد باستخدام الشبكة العنكبوتية ، في حال لم تكن هناك ادارة جيدة وتحكم جيد بصلاحيات الوصول الى الملفات و المجلدات و التطبيقات فانه ستنشأ ما يسمى بثغرة  تجاوز المسار او directory traversal .
عندما تبرمج اول تطبيق لك بلغة البي اش بي ربما تلاحظ انه يمكنك الوصول الى محتوى مجلد www من خلال كتابة رابطهم على المتصفح 
http:localhost/project_name/folder_name 
و سيعرض لك المتصفح كل الملفات و المجلدات الموجودة في هذا الرابط الا في حال كنت قد الغيت هاته الخاصية او كانت ملغات افتراضيا .
خلاصة القول  الثغرة هي عدم التحكم الجيد بصلاحيات الوصول للملفات والتطبيقات داخل السرفر سواء بسبب النقص المعرفي او النسيان اوالسهو .


تخمين كلمة المرور Password guessing:

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

الهجوم الأعمى Brute Force Attack:

يبرمج الهاكرز خورزميات تقوم بتركيب كلمات المرور بشكل ممنهج بحيث تهدف الى تجربة كل الاحتملات الممكنة طبعا هذا الهجوم يمكن ان يستمر لمدة اعوام لان هناك بلايين الاحتمالات وهذا يعتمد كليا على قوة كلمة المرور فاذا كانت مثلا 12345 فستكتشفها الخوارزمية في ظرف ثواني ، لكن تبقى مسالة الوقت مطروحة وهذا ما دفع بالهاكرز لاكتشاف طريقة تسرع العملية تسمى بهجوم القاموس 

هجوم القاموس  dictionary attack : 

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

ثغرة هجمات الحرمان من الخدمات DDos attack:

هاته التغرة تسمح للهاكر باغراق الخادم بسيل من الاستعلامات لدرجة انه يصبح عاجز اي توقيفه عن العمل لمدة معينة او بشكل دائم ، في حقيقة الامر يوجد dos attack و ال ddos attack الفرق بين هاتين الهجومين هو عدد الحوايب التي تقوم بارسال الاستعلامات لان في ال dos attack الهجوم يكون من طرف حاسوب واحد وبتالي يمكن لمسؤولي السرفر ايقاف الهجوم ببساطة لكن مع عدد كبير من مصادر الهجمات يصبح الامر صعب ، في الحقيقة يصبح حتى التفريق بين ما اذا كان هجوم هاكر او عدد زيارات كبير مسائلة تحتاج للدراسة في هاته الحال 


الخاتمة :

ماذا ؟؟ تسعة ثغرات فقط ؟ اين الثغرة العاشرة؟ .
بعد ان بدات رحلتي في تعلم الامن المعلوماتي والبحث عن ثغرات الويب التي يجب ان اراعيها اثناء تطوير المواقع اتخلصت هاته التسع ثغرات من عدة مصادر ، لكن استنتجت امر مهم جدا وهو ان اكبر ثغرة والتي تفوق كل هاته الثغرات في الخطورة هو الجهل بها.
الامن المعلوماتي ليس مجموعة خورزميات تحمي موقعك بل مجرد معلومات من بينها ثغرات عليك ان تحذر منها وتتخذ التدابير بنفسك من اجل حماية موقع ومستخدميك منها ، وبالتالي الجهل بهاته المعلومات او الجهل بالطريقة الصحيحة للوقاية من الثغرات يعتبر بالنسبة لي اكبر ثغرة لانها ستتيح لك الفرص بان تقع ليس في واحدة من هاته الثغرات فقط بل ربما في اغلبها وبالتالي موقعك يصبح معدوم الحماية كليا ، اي شخص مبتداء ياخذ اي ادات من ادوات الكالي لينوكس ليجربها على موقع سيتمكن من اختراقك .
كان هذا كل الثغرات التي توصلت لها من ابحاثي والتي سوف اتوقف عندها من اجل دراستها بشكل معمق و اتعلم طرق الحماية منها لاكمل المشروع الذي اعمل عليه في الوقت الحاضر ، لكن هذا لا يعني انه لا توجد ثغرات اخرة ، شاركني في تعليق اذا كانت هناك ثغرات اضافية تعرفها او كان هناك خلل في تعريف احداها او اخطاء املائية .

المصادر مرجعية : 


No comments:

Post a Comment