شرح اداة OWASP ZAP Proxy & Burp Suite في فيديو واحد في ساعة واحدة فقط

GenTiL
7 min readJun 11, 2024

--

(burp vs zap) image from apisec.ai

لمشاهدة الفيديو شرح اداة OWASP ZAP Proxy & Burp Suite في ساعة واحدة فقط يمكنك مشاهدته الأن من هذا الرابط

اليوم سوف نتحدث عن أشهر أداتان لأختبار الأختراق أداة Burp Suite وأداة Zaproxy ولفهمهم يجب علينا أولآ ماهو ال Web Application وكيف يعمل.

ما هو Web Application وكيف يعمل

ما هو Web Application؟

تطبيق الويب (Web Application) هو برنامج يمكن الوصول إليه واستخدامه عبر متصفح الإنترنت بدلاً من تثبيته على جهاز الحاسوب الشخصي. يمكن لتطبيقات الويب أن تكون بسيطة مثل صفحة ويب واحدة أو معقدة مثل مواقع التواصل الاجتماعي، الأنظمة المصرفية عبر الإنترنت، وتطبيقات الأعمال المعقدة.

مكونات Web Application

  1. العميل (Client)
  • يمثل واجهة المستخدم لتطبيق الويب. يتم الوصول إلى تطبيق الويب عبر متصفح الإنترنت على جهاز المستخدم. يمكن أن تشمل واجهة المستخدم صفحات HTML، ملفات CSS، وجافا سكريبت للتفاعل الديناميكي.

2. الخادم (Server)

  • يتعامل مع طلبات العملاء ويقوم بمعالجة البيانات. يمكن أن يتضمن خادم الويب الذي يقدم الصفحات وخادم التطبيقات الذي يعالج المنطق التجاري وخادم قاعدة البيانات الذي يخزن البيانات.

3. قاعدة البيانات (Database)

  • نظام لتخزين البيانات بشكل منظم يمكن الوصول إليه ومعالجته بواسطة تطبيق الويب. تشمل قواعد البيانات الشائعة MySQL، PostgreSQL، MongoDB، وOracle.

كيف يعمل Web Application

1. إرسال الطلب (Request)

  • يبدأ المستخدم بإجراء ما على واجهة المستخدم (مثل النقر على زر أو إدخال بيانات في نموذج).
  • يتم إرسال طلب HTTP من متصفح المستخدم إلى خادم الويب.

2. استقبال الطلب ومعالجته

  • يستقبل خادم الويب الطلب ويقوم بتحديد كيفية التعامل معه بناءً على مسار URL ونوع الطلب (GET، POST، PUT، DELETE).
  • إذا تطلب الأمر معالجة بيانات، يتم تمرير الطلب إلى خادم التطبيقات الذي ينفذ المنطق التجاري المطلوب.

3. التفاعل مع قاعدة البيانات

  • إذا احتاج الطلب إلى قراءة أو كتابة بيانات، يقوم خادم التطبيقات بالتفاعل مع قاعدة البيانات.
  • على سبيل المثال، إذا كان الطلب للحصول على بيانات مستخدم، يقوم خادم التطبيقات بإجراء استعلام إلى قاعدة البيانات لاسترجاع المعلومات المطلوبة.

4. توليد الاستجابة (Response)

  • بعد معالجة الطلب، يقوم خادم التطبيقات بإنشاء استجابة تشمل البيانات المطلوبة.
  • قد تكون الاستجابة صفحة HTML، بيانات JSON، ملف XML، أو أي نوع آخر من البيانات.

5. إرسال الاستجابة إلى العميل

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

أمثلة على Web Applications

  1. التجارة الإلكترونية (E-commerce)
  • مواقع مثل Amazon وeBay تتيح للمستخدمين شراء وبيع المنتجات عبر الإنترنت.

2. التواصل الاجتماعي (Social Media)

  • مواقع مثل Facebook وTwitter تمكن المستخدمين من التواصل ومشاركة المحتوى.

3. البنوك عبر الإنترنت (Online Banking)

  • توفر خدمات مثل PayPal و تطبيقات البنوك للمستخدمين إمكانية إدارة حساباتهم البنكية وإجراء المعاملات المالية.

4. إدارة المحتوى (Content Management)

  • أنظمة مثل WordPress وDrupal تمكن المستخدمين من إنشاء وإدارة محتوى مواقع الويب.

التقنيات المستخدمة في تطوير Web Applications

  1. HTML/CSS
  • لغة هيكلة وتنسيق صفحات الويب.

2.JavaScript

لغة برمجة تستخدم لإنشاء صفحات ويب تفاعلية.

3. أطر العمل (Frameworks)

  • أطر مثل React، Angular، Vue.js، تُستخدم لتسهيل تطوير واجهات المستخدم المعقدة.

4. لغة البرمجة على الخادم

  • لغات مثل Python، Ruby، PHP، Node.js، وJava تُستخدم لكتابة منطق التطبيقات على الخادم.

5. قواعد البيانات

  • أنظمة لإدارة قواعد البيانات مثل MySQL، PostgreSQL، MongoDB، وSQL Server تُستخدم لتخزين البيانات ومعالجتها.

HTTP Request: ما هو وكيف يعمل

ما هو HTTP Request؟

HTTP Request (طلب HTTP) هو طلب يتم إرساله من العميل (مثل متصفح الويب) إلى الخادم للحصول على موارد معينة مثل صفحات HTML، ملفات CSS، أو صور. يعتمد هذا الطلب على بروتوكول HTTP (Hypertext Transfer Protocol) الذي هو أساس نقل البيانات عبر الويب.

كيف يعمل HTTP Request؟

  1. البدء بطلب: يبدأ العميل بطلب معين عندما يقوم المستخدم بكتابة عنوان URL في شريط العنوان في المتصفح أو النقر على رابط.
  2. تكوين الطلب: يتكون الطلب من ثلاثة أجزاء رئيسية:
  • الخط الأول: يحتوي على نوع الطلب (مثل GET، POST)، المسار المطلوب (URL)، وإصدار البروتوكول (مثل HTTP/1.1).
  • الرؤوس (Headers): توفر معلومات إضافية مثل نوع المحتوى المقبول، نوع المتصفح، وغيرها.
  • الجسم (Body): يحتوي على البيانات المرسلة مع الطلب (يتم استخدامه عادة مع POST وPUT).

HTTP Response: ما هو وكيف يعمل

ما هو HTTP Response؟

HTTP Response (استجابة HTTP) هو الرد الذي يرسله الخادم إلى العميل بعد معالجة طلب HTTP. يتضمن هذا الرد البيانات المطلوبة أو رسائل الخطأ إذا لم يتمكن الخادم من معالجة الطلب.

كيف يعمل HTTP Response؟

  1. استلام الطلب: يتلقى الخادم طلب HTTP من العميل.
  2. معالجة الطلب: يقوم الخادم بمعالجة الطلب، مثل البحث عن الملف المطلوب أو تنفيذ كود معين.
  3. إرسال الاستجابة: يتكون الرد من ثلاثة أجزاء رئيسية:
  • الخط الأول: يحتوي على إصدار البروتوكول، رمز الحالة (مثل 200 OK)، ورسالة الحالة.
  • الرؤوس (Headers): توفر معلومات حول البيانات المرسلة، مثل نوع المحتوى، الطول، وغيرها.
  • الجسم (Body): يحتوي على البيانات المطلوبة مثل HTML، JSON، أو ملفات.

الفرق بين HTTP و HTTPS

HTTP (Hypertext Transfer Protocol) هو البروتوكول الأساسي لنقل البيانات عبر الويب، لكنه غير آمن لأنه يرسل البيانات كنص عادي. HTTPS (HTTP Secure) هو الإصدار الآمن من HTTP، حيث يستخدم تشفير SSL/TLS لحماية البيانات أثناء النقل، مما يضمن سرية وسلامة البيانات.

URL: ما هو؟

URL (Uniform Resource Locator) هو العنوان الذي يحدد موقع مورد معين على الويب. يتكون URL من عدة أجزاء:

  1. البروتوكول: مثل HTTP أو HTTPS.
  2. اسم النطاق: مثل www.example.com.
  3. المسار: يشير إلى موقع المورد على الخادم.
  4. المعلمات: معلومات إضافية يتم إرسالها مع الطلب.
  5. تجزئة: تشير إلى جزء معين داخل المورد.

Burp Suite

Intruder

Intruder هي أداة لاختبار الاختراق التلقائي تتيح للمستخدمين إرسال طلبات HTTP متعددة لتحديد الثغرات الأمنية في التطبيقات. تُستخدم هذه الأداة بشكل رئيسي لتجربة مجموعة كبيرة من المدخلات على نقاط مختلفة في التطبيق. يمكن أن تكون هذه المدخلات كلمات مرور، رموز CSRF، أو حتى بيانات دخول مستخدمين. تعتمد Intruder على القواميس والقوالب لتوليد المدخلات، وتقوم بتحليل الاستجابات للبحث عن علامات تشير إلى وجود ثغرات، مثل اختلافات في الحجم أو محتوى الاستجابة.

Repeater

Repeater تتيح للمستخدمين تعديل وإعادة إرسال طلبات HTTP يدويًا لتحليل الاستجابات. تُستخدم هذه الأداة للتحقق من الفرضيات التي تنشأ أثناء الاختبار، مثل التأكد من أن تغييرًا معينًا في الطلب يؤدي إلى استجابة مختلفة. من خلال واجهة Repeater، يمكن للمستخدمين تعديل أي جزء من الطلب بما في ذلك الرؤوس، البيانات المرسلة، وعنوان URL، ثم إرسال الطلب ومقارنة الاستجابة بالتوقعات.

Sequencer

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

Decoder

Decoder تتيح للمستخدمين فك وتشفير البيانات في صيغ متعددة. تدعم الأداة تشفيرات مثل Base64، URL encoding، HTML encoding، وغيرها. يمكن استخدامها لتحليل وفهم البيانات المشفرة التي يتم تبادلها بين العميل والخادم، وكذلك لتوليد المدخلات المشفرة لاستخدامها في الطلبات.

Comparer

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

Extender

Extender تتيح للمستخدمين تحميل وإدارة ملحقات Burp Suite لتوسيع وظائفها. توفر Burp Suite بيئة مرنة للمطورين لإنشاء ملحقات مخصصة باستخدام Java. يمكن للملحقات إضافة ميزات جديدة، تكامل مع أدوات أخرى، أو تخصيص سلوك الأداة بناءً على احتياجات المستخدمين.

Proxy

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

Scanner

Scanner تبحث تلقائيًا عن الثغرات الأمنية في تطبيقات الويب. تقوم هذه الأداة بإجراء فحص شامل للتطبيق، بحثًا عن مجموعة متنوعة من الثغرات مثل XSS، SQL Injection، وCSRF. يمكن تخصيص عملية الفحص لتغطية أجزاء محددة من التطبيق أو للتحقق من أنواع معينة من الثغرات.

Dashboard

Dashboard هي واجهة مركزية تتيح للمستخدمين عرض وإدارة كل الأنشطة والأدوات داخل Burp Suite. تعرض اللوحة الرئيسية جميع الأنشطة الجارية، التنبيهات، والتقارير، مما يسمح للمستخدمين بمراقبة التقدم وإدارة عمليات الاختبار بشكل فعال.

OWASP Zap Proxy

Sites

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

Alerts

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

History

History تسجل كل طلبات واستجابات HTTP التي تم اعتراضها. توفر هذه الأداة سجلًا شاملاً يمكن للمستخدمين مراجعته لتحليل الأنشطة التي تم تنفيذها خلال جلسات الفحص. يمكن أيضًا استخدام هذا السجل لإعادة إرسال الطلبات أو تعديلها.

Active Scan

Active Scan هو فحص تفاعلي يبحث عن الثغرات الأمنية من خلال التفاعل المباشر مع التطبيق. يقوم بإرسال طلبات متعددة إلى التطبيق، محاولاً استغلال الثغرات المعروفة وتحديد الثغرات الجديدة بناءً على الاستجابات.

Passive Scan

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

Break

Break يتيح للمستخدمين اعتراض وتعديل طلبات واستجابات HTTP أثناء عبورها عبر الوكيل. يمكن للمستخدمين إيقاف حركة المرور مؤقتًا، تعديل البيانات، ثم السماح بمتابعة الطلب أو الاستجابة. هذه الأداة مفيدة لتحليل وفهم كيفية تعامل التطبيق مع البيانات.

Fuzzer

Fuzzer تُستخدم لإرسال مجموعة كبيرة من المدخلات إلى التطبيق لاختبار كيفية تعامله مع البيانات غير المتوقعة. يمكن للمستخدمين تخصيص المدخلات وإعدادات الفحص للبحث عن الثغرات مثل SQL Injection، XSS، وغيرها.

Forced Browse

Forced Browse تحاول العثور على موارد مخفية أو غير مفهرسة عن طريق توليد طلبات HTTP تلقائيًا. يمكن لهذه الأداة اكتشاف ملفات وإدخالات قواعد بيانات مخفية، مما يساعد في العثور على معلومات حساسة قد تكون متاحة دون حماية مناسبة.

Ajax Spider

Ajax Spider تبحث عن الثغرات في تطبيقات الويب الديناميكية باستخدام تقنيات AJAX. تفحص هذه الأداة التطبيقات التي تستخدم JavaScript لتحميل المحتوى بشكل ديناميكي، مما يمكنها من اكتشاف الروابط والمصادر التي قد لا تكون مرئية للأدوات التقليدية.

Spider

Spider تقوم بفهرسة كل الروابط والمصادر داخل تطبيق الويب لفهم هيكله. تجمع هذه الأداة جميع الروابط والمصادر الممكنة، مما يساعد في تحديد النطاق الكامل للاختبار وفهم كيفية تنظيم التطبيق.

Session Management

Session Management تتيح إدارة جلسات التفاعل مع تطبيق الويب لاختبار أمن الجلسات. يمكن للمستخدمين إدارة وتعديل الجلسات، اختبار ضعف إدارة الجلسات، والتحقق من أمان عمليات تسجيل الدخول والخروج.

Authentication

Authentication توفر أدوات لإدارة وتجاوز نظم المصادقة أثناء الفحص. يمكن للمستخدمين تكوين سيناريوهات المصادقة لتناسب احتياجات الفحص، واختبار قوة وأمان إجراءات المصادقة المستخدمة في التطبيق.

Reports

Reports تولد تقارير مفصلة عن الثغرات والمشكلات المكتشفة أثناء الفحص. تحتوي التقارير على معلومات شاملة حول الثغرات، التوصيات للإصلاح، وتفاصيل الفحص، مما يساعد في توثيق وتحليل نتائج الفحص لاتخاذ الإجراءات اللازمة.

Youtube Channel:

آدعوكم ايضآ لمتابعة حساباتي علي ال Social Media اذا كنت مهتمين بالحصول علي احدث اخبار ال Cyber Security أو اذا كان لديكم أي استفسار فلا تتردوا في التواصل معي في أقرب وقت.

Facebook:

https://www.facebook.com/ahmedhamdy0x/

Linkedin:

https://www.linkedin.com/in/ahmedhamdy0x/

#burpsuite #OWASPZapProxy #BurpSuiteTutorial #ZapProxyTutorial #cybersecurity #bugbounty #ethicalhacking #pentesting #securitytools #hackerone #bughunt #webdevelopment #technology #gentilsecurity

--

--