Burp Suite
المنصة القياسية لاختبار اختراق تطبيقات الويب، تدمج بين الـ Proxy التفاعلي وأدوات التكرار (Repeater) والتحليل الآلي.
دليل منصة Burp Suite الشامل
تُعد Burp Suite المنصة القياسية والأكثر انتشاراً في قطاع اختبار اختراق تطبيقات الويب (Web Pentesting). توفر نسخة Community المجانية الأدوات الأساسية (Proxy, Repeater, Decoder)، بينما تضيف نسخة Pro ميزات متقدمة مثل الماسح الضوئي (Scanner)، وأداة Intruder بكامل سرعتها، و Burp Collaborator، ومتجر إضافات BApp Store. يركز هذا الدليل على منهجيات العمل باستخدام النسخة الاحترافية (Pro).
التثبيت (Install)
يمكن تحميل الأداة من الموقع الرسمي portswigger.net/burp/releases. تتطلب النسخة الاحترافية مفتاح ترخيص، وتأتي الأداة مدمجة مع بيئة JRE الخاصة بها، لذا لا حاجة لتثبيت جافا بشكل منفصل.
الإعداد الأولي (Initial setup)
- المشروع (Project): File ← New project ← حفظ المشروع في ملف (
/path/engagement.burp). - المتصفح (Browser): استخدم متصفح Chromium المدمج (Proxy ← Intercept ← Open Browser) أو قم بإعداد متصفح Firefox باستخدام إضافة FoxyProxy للاتصال بـ 127.0.0.1:8080.
- شهادة الأمن (CA cert): عبر المتصفح المهيأ، انتقل إلى
http://burp← قم بتحميلcacert.der← استورد الشهادة إلى مخزن الشهادات الموثوقة في نظام التشغيل أو المتصفح. بدون هذه الخطوة، ستظهر أخطاء TLS في حركة مرور HTTPS. - النطاق (Scope): Target ← Scope ← أضف
target.comوالنطاقات الفرعية. يجب دائماً تحديد النطاق قبل البدء بأي فحص لتجنب استهداف جهات خارجية خارج نطاق العمل عن طريق الخطأ.
الأدوات الرئيسية (Left tabs)
| الأداة | الوظيفة |
|---|---|
| Dashboard | عرض عمليات الفحص المباشرة، الثغرات المكتشفة، والمهام الحالية |
| Target | خريطة الموقع (Sitemap)، النطاق (Scope)، ولوحة الثغرات المكتشفة |
| Proxy | اعتراض حركة مرور HTTP(S)، سجل الطلبات (History)، و WebSockets |
| Intruder | أتمتة التلاعب بالطلبات (Fuzzing) |
| Repeater | إعادة إرسال وتعديل الطلبات يدوياً |
| Sequencer | تحليل درجة العشوائية للرموز الأمنية (Tokens) |
| Decoder | فك وتشفير البيانات (Base64, URL, Hex, Hash) |
| Comparer | مقارنة الاختلافات (Diff) بين استجابتين |
| Logger | سجل شامل وقابل للبحث لكل طلب واستجابة HTTP |
| Extender / BApp Store | تثبيت وإدارة الإضافات (البرمجيات الملحقة) |
| Collaborator client | اختبار التفاعلات الخارجية (OAST callback testing) |
احتراف استخدام الـ Proxy
- الاعتراض (Intercept): إيقاف الطلبات/الاستجابات مؤقتاً لتعديلها يدوياً. في معظم العمليات، يُفضل إبقاؤه بوضعية OFF والاعتماد على سجل الطلبات (HTTP history).
- سجل الطلبات (HTTP history): يعرض كل طلب تم إرساله عبر المتصفح من خلال Burp. يمكن تصفيته حسب المضيف، النوع، الحالة، أو نوع البيانات (MIME). بالضغط بالزر الأيمن، يمكن إرسال أي طلب إلى Repeater أو Intruder أو Scanner.
- المطابقة والاستبدال (Match & Replace): إعادة كتابة ترويسات (Headers) الطلبات بشكل شامل (مثلاً: إضافة
X-Forwarded-Forأو تغيير User-Agent).
منهجية العمل في Repeater
- ابحث عن طلب مثير للاهتمام في سجل الطلبات (HTTP history).
- اضغط بالزر الأيمن ← Send to Repeater (أو اختصار Ctrl+R).
- قم بتعديل الطلب (الرابط، الترويسات، المعاملات، الجسم).
- اضغط على Send.
- قارن الاستجابة الأصلية بالمعدلة جنباً إلى جنب.
نصائح متقدمة:
- استخدم
Ctrl+Spaceللإكمال التلقائي للترويسات. - اضغط
Ctrl+Rلنسخ الطلب الحالي في تبويب جديد. - قم بتسمية التبويبات وتنظيمها لتسهيل الرجوع إليها.
أداة Intruder (أداة الـ Fuzzing)
- أرسل الطلب إلى Intruder.
- حدد نقاط الحقن باستخدام الرمز
§(يتم التعرف عليها تلقائياً، ويمكنك إضافتها أو إزالتها يدوياً). - اختر نوع الهجوم:
- Sniper: قائمة كلمات واحدة، يتم تجربتها في كل نقطة حقن بالتسلسل.
- Battering ram: نفس القيمة يتم وضعها في جميع نقاط الحقن في آن واحد.
- Pitchfork: قوائم كلمات متوازية (كل نقطة حقن لها قائمتها الخاصة، وتجرب في نفس الوقت).
- Cluster bomb: يجرب كافة الاحتمالات الممكنة بين القوائم (ينتج عنه عدد ضخم من الطلبات).
- حمّل قائمة الكلمات (Wordlist) في تبويب Payloads.
- في تبويب Settings، استخدم Grep-match لتمييز استجابات معينة في النتائج.
- ابدأ الهجوم.
[!tip] حدود السرعة نسخة Community تقوم بإبطاء Intruder بشكل متعمد. نسخة Pro تعمل بكامل السرعة. لعمليات الـ Fuzzing الضخمة، قد يكون استخدام
ffufأسرع، مع الاحتفاظ بـ Intruder للعمليات الدقيقة.
الماسح الضوئي Scanner (نسخة Pro فقط)
- Active scan (الفحص النشط): يرسل حمولات (Payloads) لاكتشاف الثغرات.
- Audit (التدقيق): مرحلة البحث المعمق عن الأخطاء البرمجية.
- Crawl (الزحف): استكشاف الروابط والمحتوى قبل البدء بالتدقيق.
- يمكن تخصيص ملفات التعريف (Profiles) للفحص عبر Dashboard ← New scan لتوازن بين السرعة والدقة.
يكتشف الـ Scanner: SQLi, XSS, SSTI, Command Injection, XXE, Deserialization, Open Redirects, وغيرها من الثغرات المتقدمة.
Burp Collaborator (اختبارات OAST)
- افتح Collaborator client ← انسخ الرابط (مثل
xyz.oastify.com) واستخدمه كعنوان رجوع (Callback host) في أي حمولة هجومية. - راقب التفاعلات؛ ستظهر أي اتصالات DNS أو HTTP أو SMTP مع الطوابع الزمنية وعناوين IP المصدر، مما يثبت وجود ثغرات مثل Blind RCE أو SSRF أو Log4Shell.
إضافات BApp الموصى بها
- Logger++: سجل متطور وقابل للبحث بشكل معمق.
- Autorize: لاختبار ثغرات الصلاحيات (IDOR / Authorization).
- Turbo Intruder: نسخة برمجية من Intruder تعتمد على بايثون وسريعة جداً.
- JWT Editor: للتعامل مع رموز JWT وتعديلها.
- Param Miner: لاكتشاف الترويسات والمعاملات المخفية.
- Hackvertor: لتشفير وتحويل الحمولات الهجومية بأنواع متعددة.
منهجية العمل النموذجية في اختبار الاختراق
- تحديد النطاق (Scope)، وتصفح التطبيق يدوياً لبناء خريطة الموقع.
- تشغيل عملية Crawl + Audit (في الخلفية للنسخة الاحترافية).
- تحديد نقاط النهاية (Endpoints) ذات القيمة العالية (تسجيل الدخول، الإدارة، رفع الملفات، واجهات API).
- استخدام Repeater للتلاعب بالمعاملات وتغيير أنواع الطلبات (Verbs).
- استخدام Intruder عند الحاجة لتجربة مدخلات متعددة بناءً على مؤشرات اكتشفت في Repeater.
- استخدام Autorize لاختبار الصلاحيات الأفقية (الوصول لبيانات مستخدم آخر).
- استخدام Collaborator لإثبات الثغرات العمياء (Blind vulnerabilities).
- استخراج التقرير النهائي (Generate report) بصيغة HTML أو PDF مع إثبات المفهوم (PoC).
استكشاف الأخطاء وإصلاحها
| العرض | السبب المحتمل | الحل المقترح |
|---|---|---|
| أخطاء TLS في المتصفح | شهادة Burp غير موثوقة | أعد استيراد الشهادة وأعد تشغيل المتصفح. |
| مشاكل في بروتوكول HTTP/2 | بعض الخوادم تتطلب إعدادات خاصة لـ HTTP/2 | من Project options ← HTTP ← قم بتفعيل HTTP/2. |
| استهلاك مفرط للذاكرة | السجل (History) ضخم جداً | Project options ← Database ← vacuum، أو ابدأ مشروعاً جديداً. |
| نتائج إيجابية خاطئة (False Positives) | ملف فحص عدواني جداً | استخدم ملف تعريف متوازن، وتحقق يدوياً عبر Repeater. |
منظور المدافع (Defender's perspective)
من الصعب تمييز حركة مرور Burp بشكل قاطع لأنها تأتي من متصفح حقيقي، لكن ابحث عن:
- تكرار طلبات متطابقة مع تغيير معامل واحد فقط (نمط Intruder/Repeater).
- طلبات تحتوي على حمولات مشهورة مثل:
<svg/onload,' OR 1=1--,${jndi:. - يمكن لأنظمة WAF رصد هذه الأنماط، ولكن المختبر المحترف يقوم بتشفير وتغيير هذه الحمولات لتجاوز الرصد.
اعتبارات العمليات الأمنية (OPSEC)
- تمر حركة المرور عبر عنوان IP الخاص بك؛ استخدم وكيل اتصال علوي (Upstream proxy) لتوجيه الحركة عبر بنية تحتية مخصصة.
- تأكد من إغلاق Intercept عند تصفح مواقع خارج نطاق العمل.
- احفظ ملف المشروع بانتظام لتجنب فقدان البيانات في حال تعطل البرنامج.
أدوات ذات صلة
- OWASP ZAP: البديل المجاني الأبرز.
- Caido: أداة حديثة مكتوبة بلغة Rust، خفيفة وسريعة.
- mitmproxy: وكيل اتصال برمي يعتمد على بايثون، يعمل عبر السطر الأوامر.
- ffuf: الأسرع في عمليات الـ Fuzzing بجانب Intruder.
- sqlmap: لاستغلال ثغرات SQLi المكتشفة بشكل أعمق.