Burp Suite هو المعيار الفعلي في مجموعة أدوات أي متخصص في أمان تطبيقات الويب. يسمح لك نموذج الوكيل الخاص به باعتراض وتحليل وتعديل حركة مرور HTTP/HTTPS بين المتصفح والخادم في الوقت الحقيقي. في هذا الدليل، سنستعرض كيفية إعداد Burp Suite كوكيل، وما هي الوحدات التي يجب استخدامها لاختبار الاختراق الأساسي، وكيفية تجنب الأخطاء الشائعة للمبتدئين.
ما هو Burp Suite ولماذا يحتاجه مختبر الاختراق
Burp Suite هو منصة متكاملة لاختبار أمان تطبيقات الويب، تم تطويرها بواسطة شركة PortSwigger. الأداة متاحة في ثلاث إصدارات: Community (مجانية)، Professional وEnterprise. بالنسبة لمعظم المهام الأساسية والمتوسطة، يكفي إصدار Community، على الرغم من أن Professional يفتح الوصول إلى ماسح الثغرات النشط وميزات متقدمة لـ Intruder.
الدور الرئيسي لـ Burp Suite في اختبار الاختراق هو دور وكيل الرجل في المنتصف. تقع الأداة بين متصفحك وتطبيق الويب المستهدف، وتعترض كل حركة مرور HTTP/HTTPS. وهذا يسمح بـ:
- رؤية الطلبات والردود "الخام" التي يخفيها المتصفح عن المستخدم
- تعديل معلمات الطلبات في الوقت الحقيقي - تغيير الرؤوس، جسم طلب POST، الكوكيز
- إعادة إرسال الطلبات مع بيانات معدلة دون إعادة تحميل الصفحة
- التكرار التلقائي لقيم المعلمات للبحث عن الثغرات
- إنشاء خريطة كاملة لتطبيق الويب (Spider/Crawler)
- العثور على ثغرات من فئات SQLi وXSS وIDOR وSSRF وعشرات أخرى
يتم استخدام Burp Suite من قبل مختبري الاختراق المحترفين في المشاريع التجارية، وكذلك من قبل المشاركين في برامج Bug Bounty (HackerOne، Bugcrowd). هذه هي الأداة الأولى التي يتم تثبيتها على جهاز العمل عند بدء مسيرة مهنية في مجال أمان التطبيقات.
⚠️ هام:
استخدم Burp Suite فقط لاختبار التطبيقات التي لديك إذن كتابي من المالك، أو للأغراض التعليمية (DVWA، WebGoat، HackTheBox، TryHackMe). الاختبار غير المصرح به يعاقب عليه القانون.
كيف يعمل اعتراض الوكيل في Burp Suite
عند تشغيل Burp Suite وتفعيل وحدة Proxy، يتم رفع خادم وكيل محلي على جهازك. بشكل افتراضي، يستمع على العنوان 127.0.0.1:8080. يتم إعداد المتصفح لاستخدام هذا العنوان كوكيل HTTP/HTTPS.
يبدو مخطط العمل كما يلي:
المتصفح │ │ طلب HTTP/HTTPS ▼ Burp Suite Proxy (127.0.0.1:8080) │ │ ← هنا يقوم Burp بالاعتراض، العرض، والسماح بالتعديل │ ▼ الخادم المستهدف (example.com) │ │ رد HTTP/HTTPS ▼ Burp Suite Proxy │ │ ← هنا يقوم Burp بالاعتراض على رد الخادم │ ▼ المتصفح (يتلقى الرد)
بالنسبة لحركة مرور HTTPS، يقوم Burp Suite بإنشاء شهادات TLS الخاصة به لكل نطاق في الوقت الحقيقي. لتجنب عرض المتصفح تحذيرات عن اتصال غير آمن، يجب تثبيت شهادة CA الجذرية لـ Burp في مراكز الشهادات الموثوقة في المتصفح أو نظام التشغيل. هذا هو ما يسمح بفك تشفير حركة مرور HTTPS - بدون هذه الخطوة، سترى فقط بيانات مشفرة.
يمكن تشغيل أو إيقاف وضع الاعتراض (Intercept). عندما يكون الاعتراض مفعلًا - يتم "تجميد" كل طلب في Burp وينتظر قرارك: تمريره كما هو، تعديله أو إلغاءه. عندما يكون غير مفعل - يقوم Burp بتمرير الحركة بشكل شفاف، لكنه لا يزال يسجلها في سجل HTTP.
إعداد المتصفح وتثبيت شهادة CA
هذه هي الخطوة الأكثر أهمية للبدء. دعونا نناقش خيارين: استخدام المتصفح المدمج في Burp وإعداد Chrome/Firefox يدويًا.
الخيار 1: المتصفح المدمج في Burp Suite (موصى به للمبتدئين)
بدءًا من الإصدار 2021.x، يأتي Burp Suite مع متصفح Chromium مدمج، تم إعداده مسبقًا للعمل مع الوكيل ويحتوي على شهادة CA. هذه هي أسرع طريقة للبدء:
- افتح Burp Suite → انتقل إلى قسم Proxy
- اضغط على زر Open Browser
- سيفتح Chromium، المعد مسبقًا على وكيل Burp
- انتقل إلى الموقع المطلوب - سيتم اعتراض الحركة على الفور
الخيار 2: إعداد Firefox يدويًا
يُفضل استخدام Firefox للإعداد اليدوي، لأنه يحتوي على تخزين خاص بالشهادات (لا يعتمد على النظام):
الخطوة 1. إعداد الوكيل في Firefox:
- افتح Firefox → الإعدادات → خادم الوكيل (أو استخدم إضافة FoxyProxy)
- اختر "إعداد الوكيل يدويًا"
- HTTP-Proxy:
127.0.0.1، المنفذ:8080 - ضع علامة "استخدام هذا الوكيل لـ HTTPS"
- اضغط على OK
الخطوة 2. تثبيت شهادة CA لـ Burp:
- تأكد من تشغيل Burp Suite وتفعيل الوكيل
- في المتصفح، انتقل إلى العنوان:
http://burpsuiteأوhttp://127.0.0.1:8080 - اضغط على "CA Certificate" - سيتم تنزيل ملف
cacert.der - في Firefox: الإعدادات → الخصوصية والأمان → الشهادات → عرض الشهادات
- علامة "مراكز الشهادات" → استيراد → اختر الملف الذي تم تنزيله
- ضع علامة "الثقة في هذا CA لتحديد الهوية لمواقع الويب"
- اضغط على OK
بعد هذه الخطوات، سيثق Firefox بالشهادات التي ينشئها Burp لمواقع HTTPS، وستتمكن من اعتراض حركة المرور المشفرة دون تحذيرات.
اعتراض وتحليل حركة مرور HTTP/HTTPS
بعد إعداد المتصفح، يمكنك البدء في العمل مع الحركة. دعونا نستعرض الميزات الأساسية لعلامة Proxy في Burp Suite.
HTTP History - سجل جميع الطلبات
علامة HTTP History (Proxy → HTTP History) هي سجل لجميع الطلبات التي مرت عبر Burp. هنا سترى:
- طريقة الطلب (GET، POST، PUT، DELETE، إلخ)
- URL والمعلمات
- رؤوس HTTP (بما في ذلك الكوكيز، التفويض، User-Agent)
- جسم الطلب (لـ POST/PUT)
- رمز رد الخادم (200، 302، 403، 500...)
- حجم ووقت الرد
انقر بزر الماوس الأيمن على أي طلب → ستحصل على قائمة سياقية مع خيارات: إرسال إلى Repeater، Intruder، Scanner، Decoder وغيرها من الوحدات. هذه هي العملية الأساسية في Burp.
Intercept - وضع الاعتراض النشط
قم بتفعيل Intercept (زر "Intercept is on/off") - وسيتم "تجميد" الطلب التالي من المتصفح في Burp. سترى محتواه وستتمكن من:
- Forward - تمرير الطلب دون تغييرات
- Drop - إلغاء الطلب (لن يتلقاه الخادم)
- تعديل البيانات يدويًا - تحرير أي حقل والضغط على Forward
- Action → Send to Repeater - إرسال إلى Repeater لمزيد من التحليل
مثال عملي: تقوم باعتراض طلب POST لنموذج تسجيل الدخول. في جسم الطلب ترى المعلمات username=admin&password=12345. يمكنك تغيير القيم مباشرة في Burp والضغط على Forward - سيتلقى الخادم البيانات المعدلة.
الوحدات الرئيسية: Repeater وIntruder وScanner
Burp Suite ليس مجرد وكيل. إنه نظام بيئي كامل من الأدوات. دعونا نناقش ثلاث وحدات تُستخدم بشكل متكرر.
Repeater - اختبار الطلبات يدويًا
Repeater هو الحصان العامل لمختبر الاختراق. ترسل إليه طلبًا من HTTP History (زر اليمين → Send to Repeater)، وبعد ذلك يمكنك:
- تعديل أي معلمات للطلب
- إعادة إرسال الطلب مرة أخرى باستخدام زر Send
- رؤية رد الخادم في اللوحة اليمنى
- مقارنة الردود على خيارات الطلب المختلفة
- حفظ تاريخ جميع الخيارات المرسلة
سيناريو استخدام نموذجي لـ Repeater: تجد معلمة id=5 في طلب GET. ترسل الطلب إلى Repeater وتبدأ في التحقق: ماذا سيحدث عند id=1، id=0، id=-1، id=999999? هذا هو اختبار أساسي على IDOR (إشارة مباشرة غير آمنة إلى الكائن).
Intruder - التكرار الآلي
يسمح لك Intruder بالتكرار التلقائي لقيم المعلمات وفقًا لقاموس أو نمط محدد. أوضاع الهجوم الرئيسية هي:
| الوضع | الوصف | الاستخدام |
|---|---|---|
| Sniper | معلمة واحدة، قاموس واحد | تخمين حقل واحد |
| Battering Ram | عدة معلمات، قيمة واحدة | عندما تحتاج إلى نفس القيمة في عدة أماكن |
| Pitchfork | عدة معلمات، عدة قواميس (بالتزامن) | تكرار تسجيل الدخول + كلمة المرور من أزواج جاهزة |
| Cluster Bomb | عدة معلمات، جميع التركيبات | تكرار كامل لجميع التركيبات |
في إصدار Community، تم تحديد سرعة Intruder بشكل مصطنع (حوالي طلب واحد في الثانية). في إصدار Professional، لا توجد قيود. لتجاوز هذه القيود في Community، يستخدمون إضافات خارجية أو أداة ffuf/wfuzz بالتعاون مع Burp.
Scanner - البحث التلقائي عن الثغرات (Pro)
Scanner متاح فقط في إصدار Professional. يقوم بتحليل الطلبات المعترضة تلقائيًا والبحث عن الثغرات: حقن SQL، XSS، XXE، SSRF، Path Traversal وغيرها. في إصدار Community، يوجد مسح سلبي - يقوم Burp بتحليل الحركة وإبراز الأماكن المحتملة الخطورة دون هجمات نشطة.
البحث عن الثغرات الشائعة من خلال Burp Suite
دعونا نستعرض سيناريوهات عملية للبحث عن أكثر الثغرات شيوعًا باستخدام Burp Suite.
حقن SQL (SQLi)
اختبار أساسي على SQLi من خلال Repeater:
- اعترض الطلب مع المعلمة التي تذهب إلى قاعدة البيانات (مثل
id=5أوsearch=test) - أرسل إلى Repeater
- أضف إلى القيمة علامة اقتباس مفردة:
id=5' - اضغط على Send وادرس الرد - إذا أعاد الخادم خطأ SQL أو تغير السلوك - هناك علامة على وجود SQLi
- تحقق من حقن بولي:
id=5 AND 1=1مقابلid=5 AND 1=2- إذا كانت الردود مختلفة، فهناك حقن
XSS المنعكس
اختبار على XSS المنعكس:
- ابحث عن معلمة، يتم عرض قيمتها في صفحة الرد
- أرسل الطلب إلى Repeater
- أدخل الحمولة الاختبارية:
<script>alert(1)</script> - ادرس الرد - إذا دخل الحمولة في HTML دون هروب، فإن XSS موجودة
- تحقق مما إذا كانت علامة script يتم تصفيتها: جرب
<img src=x onerror=alert(1)>
IDOR (إشارة مباشرة غير آمنة إلى الكائن)
واحدة من أكثر فئات الثغرات شيوعًا في تطبيقات الويب الحديثة:
- ابحث عن الطلبات التي تشير إلى الكائنات بواسطة ID رقمي:
/api/user/profile?id=1234 - أرسل إلى Repeater
- قم بتغيير ID إلى قيمة أخرى:
id=1235،id=1 - إذا أعاد الخادم بيانات مستخدم آخر دون خطأ في التفويض - فهذا هو IDOR
اختبار التفويض وإدارة الجلسة
يسمح لك Burp Suite بسهولة باختبار آليات التفويض:
- انسخ الطلب إلى مورد محمي في Repeater
- احذف أو غير قيمة الكوكيز للجلسة
- تحقق مما إذا كان الخادم سيعيد خطأ تفويض أو سيظل يقدم البيانات
- تحقق مما إذا كانت رموز JWT تعمل عند تغيير الخوارزمية إلى
none
Burp Suite + وكيل خارجي: لماذا تحتاج إلى ذلك
Burp Suite هو وكيل محلي للأدوات. ولكن في بعض السيناريوهات، يحتاج مختبر الاختراق إلى توجيه حركة مرور Burp عبر وكيل خارجي. دعونا نستعرض متى ولماذا يتطلب ذلك.
السيناريو 1: اختبار من عنوان IP حقيقي
تحتوي بعض تطبيقات الويب على حماية تعتمد على الجغرافيا أو سمعة IP. إذا كان التطبيق المستهدف يحظر حركة المرور من مراكز البيانات أو من IPs معروفة لـ VPN، يمكن لمختبر الاختراق استخدام وكلاء سكنيين - لديهم عناوين IP لمستخدمين حقيقيين ويبدون للخادم كزائر عادي.
السيناريو 2: تجاوز تحديد المعدل أثناء الاختبار النشط
أثناء المسح النشط أو العمل مع Intruder، قد يقوم الخادم المستهدف بحظر IP الخاص بك بسبب عدد كبير من الطلبات. يسمح التدوير عبر مجموعة من الوكلاء بتوزيع الحمل عبر عناوين IP مختلفة. تعتبر وكلاء مراكز البيانات مناسبة تمامًا لهذه المهام - حيث توفر سرعة عالية واستقرار في الاتصال، وهو أمر حاسم أثناء الاختبار الآلي.
كيفية إعداد وكيل upstream في Burp Suite
يدعم Burp Suite الوكلاء من المستوى الأعلى (upstream proxy). الإعداد:
- افتح Burp Suite → الإعدادات (أو خيارات المستخدم في الإصدارات القديمة)
- انتقل إلى قسم Network → Connections → Upstream Proxy Servers
- اضغط على Add
- في حقل Destination host، أدخل
*(لكل المضيفين) أو نطاق محدد - أدخل عنوان وميناء الوكيل الخارجي
- اختر النوع: HTTP، SOCKS4 أو SOCKS5
- إذا لزم الأمر، أدخل اسم المستخدم وكلمة المرور
- اضغط على OK
# مثال على إعداد وكيل upstream في Burp Suite: Destination host: * Proxy host: proxy.example.com Proxy port: 8888 Auth type: Basic Username: your_login Password: your_password Proxy type: SOCKS5
بعد هذا الإعداد، ستذهب كل حركة المرور التي يرسلها Burp إلى الخوادم المستهدفة عبر الوكيل upstream المحدد. لا يزال المتصفح يتصل بـ Burp على 127.0.0.1:8080، بينما يقوم Burp بالفعل بإعادة توجيه الطلبات عبر الوكيل الخارجي.
مقارنة أنواع الوكلاء لاختبار الاختراق
| نوع الوكيل | السرعة | الخصوصية | الاستخدام في اختبار الاختراق |
|---|---|---|---|
| مركز البيانات | عالية | متوسطة | المسح النشط، Intruder |
| سكني | متوسطة | عالية | تجاوز الحظر الجغرافي، محاكاة المستخدم |
| محمول | متوسطة | عالية جدًا | اختبار واجهات برمجة التطبيقات المحمولة، تجاوز WAF الصارمة |
نصائح وأخطاء شائعة عند العمل مع Burp Suite
على مر السنين من العمل مع Burp Suite، جمع مجتمع مختبري الاختراق قائمة بالأخطاء الشائعة للمبتدئين والتقنيات المجربة. إليك أهمها.
الأخطاء الشائعة للمبتدئين
- نسيت تثبيت شهادة CA. الأعراض: مواقع HTTPS تعرض تحذيرًا عن اتصال غير آمن، الحركة لا تعترض. الحل: قم بتثبيت الشهادة وفقًا للتعليمات أعلاه.
- ظل الاعتراض مفعلًا. المتصفح "علق" - لا يقوم بتحميل الصفحات. الحل: انتقل إلى Proxy → Intercept واضغط على "Intercept is on" لإيقاف الاعتراض.
- لم تضف استثناءات لحركة النظام. يقوم Burp باعتراض حركة تحديثات Windows، ومضاد الفيروسات، إلخ. قم بإعداد الفلاتر في Proxy → Options → Intercept Client Requests لاعتراض فقط النطاقات المطلوبة.
- يختبرون خادم الإنتاج بدون إذن. هذا غير قانوني. استخدم فقط بيئات الاختبار أو التطبيقات بإذن واضح.
- يتجاهلون علامة Target → Site Map. هنا يقوم Burp بإنشاء خريطة للتطبيق بالكامل - جميع النقاط النهائية المكتشفة، والمعلمات والردود. هذا مصدر معلومات لا يقدر بثمن أثناء الاستطلاع.
تقنيات مفيدة
- Match and Replace. في Proxy → Options → Match and Replace يمكنك إعداد استبدال تلقائي للقيم في الطلبات. على سبيل المثال، إضافة رأس تلقائيًا أو تغيير User-Agent إلى المحمول.
- Decoder. تسمح لك وحدة Decoder بسرعة فك/ترميز البيانات: Base64، URL-encoding، HTML-entities، Hex. لا غنى عنها عند تحليل الرموز والمعلمات.
- Comparer. يسمح بمقارنة ردين من الخادم بايت بايت. أرسل طلبين متشابهين إلى Comparer وسترى الفرق على الفور.
- BApp Store. يدعم Burp Suite الإضافات (BApp Store). الأكثر شيوعًا: Autorize (اختبار التفويض)، Logger++ (تسجيل موسع)، Turbo Intruder (تكرار سريع في Community)، JWT Editor.
- احفظ المشروع. في إصدار Professional يمكنك حفظ المشروع. في Community استخدم Export → Save state، حتى لا تفقد HTTP History عند الإغلاق.
- استخدم Scope. في Target → Scope أضف نطاق التطبيق المستهدف. سيسمح ذلك لـ Burp بتصفية الحركة غير ذات الصلة وعدم إغراق HTTP History بطلبات إلى Google، CDN، إلخ.
موارد مفيدة للتدريب
| المصدر | النوع | لمن |
|---|---|---|
| أكاديمية أمان الويب من PortSwigger | مختبرات مجانية + نظرية | المبتدئين والمستوى المتوسط |
| DVWA (تطبيق ويب ضعيف للغاية) | بيئة محلية | تدريب بدون مخاطر |
| HackTheBox / TryHackMe | منصات CTF عبر الإنترنت | تدريب على سيناريوهات حقيقية |
| WebGoat (OWASP) | بيئة محلية مع دروس | دراسة OWASP Top 10 |
الخاتمة
Burp Suite هو أداة قوية ومتاحة لاختبار أمان تطبيقات الويب. يوفر نموذج الوكيل الخاص به رؤية كاملة لحركة مرور HTTP/HTTPS، بينما تغطي مجموعة Proxy → Repeater → Intruder معظم مهام اختبار الاختراق اليدوي. يمكنك البدء مجانًا باستخدام إصدار Community والمختبرات المجانية من أكاديمية أمان الويب PortSwigger - هذه هي أفضل طريقة لتعلم الأداة عمليًا.
الخطوات الرئيسية للبدء: قم بتثبيت Burp Suite، إعداد المتصفح عبر FoxyProxy، تثبيت شهادة CA، إضافة النطاق المستهدف إلى Scope - وأنت جاهز للعمل. بعد إتقان الوحدات الأساسية، انتقل إلى دراسة الإضافات من BApp Store: Autorize وTurbo Intruder وJWT Editor ستوسع بشكل كبير من إمكانياتك.
إذا كنت بحاجة إلى اختبار التطبيقات ذات الجغرافيا غير القياسية، أو تجاوز حظر IP، أو محاكاة حركة مرور المستخدمين الحقيقيين، نوصي بإعداد وكيل upstream في Burp Suite. بالنسبة للمهام التي تتطلب خصوصية عالية وتجاوز الحماية المعتمدة على سمعة IP، تعتبر الوكلاء السكنيون خيارًا جيدًا - حيث توفر حركة مرور من عناوين IP لمستخدمين حقيقيين وتقلل من خطر الحظر أثناء الاختبار.
```