Lesson 1 : Web App Penetration Testing ( Code Review )
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مقدم الكورس :
https://twitter.com/infosec_90
تعريف بالكورس :
هو كورس يتحدث عن اختبار اختراق تطبيقات الويب ابلكيشن
عن طريق عرض السورس كود لتطبيقات الويب واكتشاف
الثغرات فيه بكافة انواعها حيث سيتم التدرج في اختيار السكربتات
وايضا انواع الثغرات والبدء من السكربتات والثغرات الاسهل والابسط
ومن ثم الانتقال الى سكربتات اكثر تعقيدا واكبر
لمن هذا الكورس لـ :
مطوري الويب ابلكيشن
مختبري اختراق تطبيقات الويب ابلكيشن
صائدي الثغرات
الشرائح المستهدفة في الكورس :
جميع الفئات حيث يمكن للمبتدئين بدون خلفية برمجية
ايضا اكتشاف الثغرات باختبار السكربت
بدون قراءة الكود البرمجي للسكربت
ولكن تبقى الافضلية للمبرمجين خصوصا في
الدروس المتقدمة في الكورس حيث انها ستكون
ابسط لهم لعلمهم بكيفية عمل الكود البرمجي
مدة الكورس :
المدة ستكون غير محددة حسب الوقت المتاح لي
سيتم نشر الدروس بشكل مقالات
اللغات المستهدفة في هذا الكورس
1-PHP
2-Ruby on Rails
3-Python (Django)
4- .NET
ومن الممكن اضافة لغات اخرى مستقبلا حسب الاستطاعة
اهداف الكورس :
قبل نهاية الكورس ستكون مؤهل
لاكتشاف الثغرات في تطبيقات الويب ابلكيشن وارسالها الى مواقع اكتشاف الثغرات
مثال بسيط تم اكتشافها اثناء كتابة دروس الدورة:
للعلم الكورس على سكربتات حقيقة وليس لابات
وايضا لم يتم ارسال جميع الثغرات حيث ان تمارين الكورس بنهاية كل درس
ستكون على شكل اكتشاف ثغرة في سكربت حقيقي وارسالها الى موقع
exploit-db or packetstorm
كل ما اتمناه منكم دعوة في ظاهر الغيب
بسم الله نبدا لاعداد بيئة للكورس
ماهو اختبار الاختراق ؟
يعد اختبار الاختراق جزءًا من اختبارات الأمان ويستخدم لتحديد نقاط الضعف في النظام أو التطبيق. الغرض من هذا الاختبار هو معرفة نقاط الضعف والبحث عن أي ثغرات أمنية موجودة.
من المفهوم أن الضعف يعني: الخطر المتمثل في قيام المهاجم بتعطيل أو الحصول على وصول إلى النظام أو البيانات الموجودة فيه.
تشمل نقاط الضعف الشائعة أخطاء التصميم ، وأخطاء التكوين ، وأخطاء البرامج ، إلخ.
أنواع اختبارات الاختراق يعتمد نوع اختبار الاختراق الذي يتم إجراؤه عادةً على النطاق والهجوم الذي تريد المنظمة محاكاته. يمكن أن يكون هذا هجومًا من قبل موظف أو مسؤول شبكة (مصادر داخلية) أو مصادر خارجية.
هناك ثلاثة أنواع من اختبارات الاختراق:
1.اختبار الصندوق الاسود.
2. اختبار الصندوق الأبيض
3.اختبار الصندوق الرمادي.
في اختبار اختراق الصندوق الأسود :
معرفة المختبر بالأنظمة او التطبيقات التي سيتم اختبارها.
في اختبار اختراق الصندوق الأبيض :
معرفة المختبر بمعلومات كاملة عن الشبكة أو الأنظمة او التطبيقات التي سيتم اختبارها
في اختبار اختراق الصندوق الرمادي :
معرفة المختبر بجزئية للنظام او التطبيق
.
تم اختصار التعاريف والمصطلحات بشكل مبسط ويمكنك البحث عنها في قوقل لفهم اكثر لها
في هذا الكورس التركيز اكثر على الصندوق الابيض والصندوق الرمادي للمبتدئين
قبل البدء في الكورس علينا اعداد البيئة المناسبة لاختبار اختراق تطبيقات الويب ابلكيشن
اعداد بيئة php
نحتاج الى تثبيت XAMPP
مناسب لجميع الانظمة
windows , linux , OS MAC
لعملية التنصيب
ما نحتاجه فعليا هو فقط
Apache , MySQL (MariaDB) , phpMyAdmin
نحتاج الان الى تشغيل
Apache , MySQL (MariaDB)
الان للتاكد من عمل السيرفر المحلي
نتبع الرابط التالي :
http://localhost/ or http://127.0.0.1
وللتاكد من عمل قاعدة البيانات نتبع الرابط التالي :
بالنسبة لاعدادات الكونفق وخصوصا اعداد ظهور الاخطاء
لن يتم التطرق لها لان تركيز الكورس اكثر على عملية استعراض الكود
اعداد بيئة Ruby on Rails
اذا على لينكس يتم الاكتفاء ب
sudo apt install ruby
gem install rails
gem install bundler
sudo apt install NodeJS
npm install --global yarn
اذا ويندوز
يفضل استخدام الاصدار 2.7 واقل
حيث ان غالبية السكربتات متوافقة معه
اختار الرقم 1 او 3
الان نحتاج الى تثبيت Rails
gem install rails
اذا ظهر لك خطأ عند تنفيذ الامر :
gem install rails
نفذ الامر
chcp 1252
ثم اعد تنفيذ الامر السابق
الان نحتاج نثبت NodeJS
ننزله من هنا ونثبته
Download | Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
بيأخذ وقت كثير على نظام الويندوز
بعدها ننفذ الامر
gem install bundler
الان ننفذ الامر
npm install --global yarn
الان نحتاج ندخل اي مسار يكون ثابت لنا
وننفذ نفس الامر كان ويندوز او لينكس
rails new test1
وننتظر حتى انتهاء التثبيت
بعد الانتهاء
ندخل على المجلد الذي تم انشاءه
وننفذ الامر
Windows $ rails s
Linux $ bin/rails s
نستعرض العنوان الواضح من المتصفح
http://127.0.0.1:3000
النتيجة ظهور هذه الصفحة
الان انتهينا من تثبيت بيئة العمل
بالنسبة للمحرر المستخدم في الكورس هو محرر
Phpstorm
لك حرية الاختيار
ولكن اذا كنت طالب او منتسب في اي جامعة يمكنك استخدام
الايميل الجامعي للحصول على هذا المحرر بشكل مجاني
عليك التسجيل في الموقع التالي بايميلك الجامعي
او استخدام
للتحميل :
اخيرا هذا الدرس كان فقط عن اعداد بيئة العمل
لدينا الان تمرين للدرس القادم التمرين
هو تثبيت هذا السكربت في بيئة
PHP
https://download-media.code-projects.org/2021/07/Online_Shop_Store_In_PHP_With_Source_Code.zip
تلميح للتثبيت :
https://code-projects.org/online-shop-store-in-php-with-source-code/
التمرين :
اكتشفت ثغرة واحدة فقط وهي :
https://packetstormsecurity.com/files/164373/Lifestyle-Store-1.0-Cross-Site-Scripting.html
هل يمكنك اكتشاف ثغرات اكثر في نفس السكربت بعد تثبيته ؟
وارسالها لنفس الموقع وتسجيلها باسمك؟