
إضافة لـ Burp Suite لاختبار أمان واجهات API مع 15 نوع هجوم، أكثر من 108 حمولة، تشويش ذكي، كشف BOLA/IDOR، تكامل مع الذكاء الاصطناعي، واستطلاع آلي. تدعم REST/GraphQL/SOAP APIs مع Nuclei، Turbo Intruder، وتكامل أدوات خارجية. تغطية OWASP API Top 10.
إذا كان هذا المشروع يساعد عملك، فادعم الصيانة المستمرة والميزات الجديدة.
محفظة التبرع ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
امسح رمز QR أو انسخ عنوان المحفظة أعلاه.
إضافة من الدرجة الاحترافية لـ Burp Suite للاستطلاع الشامل لواجهات API، والتفحيم الذكي، واختبار الأمان المدعوم بالذكاء الاصطناعي.
تقوم BurpAPISecuritySuite بتجميع الوظائف التي قد تتطلب عادةً 10+ إضافات منفصلة في إضافة واحدة محسّنة. يوفر هذا القرار المعماري فوائد أداء كبيرة:
كفاءة الذاكرة: يؤدي تشغيل إضافات Burp متعددة في وقت واحد إلى ضغط كبير على الذاكرة. تحتفظ كل إضافة بحالتها الخاصة ومكونات واجهة المستخدم ومستمعي الأحداث. تشارك إضافة واحدة مع علامات تبويب متعددة الموارد بكفاءة وتقلل من إجمالي استهلاك الذاكرة.
تقليل الحمل الزائد لواجهة API: تقوم واجهة برمجة تطبيقات Burp بمعالجة عمليات الاسترجاع من كل إضافة محملة. مع 10+ إضافات، يؤدي كل طلب HTTP إلى تشغيل عمليات استرجاع عبر جميع الإضافات، مما يخلق حملاً مضاعفًا. إضافة واحدة تعني سلسلة استرجاع واحدة، مما يقلل بشكل كبير من دورات وحدة المعالجة المركزية ويحسن الاستجابة.
سياق مشترك: تشارك علامات التبويب المتكاملة بيانات حركة المرور الملتقطة، مما يلغي المعالجة المكررة. تلتقط علامة التبويب Recon مرة واحدة، وتعمل جميع علامات التبويب الأخرى (Fuzzer، Auth Replay، Passive Discovery، إلخ) على نفس مجموعة البيانات دون إعادة تحليل الطلبات.
بدء تشغيل أسرع: تحميل إضافة واحدة أسرع بكثير من تحميل 10+ إضافات. يقوم Burp بتهيئة مكونات واجهة المستخدم، وتسجيل عمليات الاسترجاع، وتخصيص الموارد مرة واحدة بدلاً من التكرار.
استقرار أفضل: عدد أقل من الإضافات يعني عددًا أقل من التعارضات المحتملة، وعدم تطابق الإصدارات، ومشكلات التوافق. قاعدة بيانات واحدة أسهل في الاختبار والتصحيح والصيانة.
تعطي فلسفة التصميم هذه الأولوية للأداء وتجربة المستخدم مع تقديم إمكانيات اختبار أمان API شاملة كانت ستتطلب إعدادًا معقدًا متعدد الإضافات.






أداة تشغيل تعبئة الفجوات والبحث العميق المتكاملة والمُعايرة لتكملة تغطية Nuclei/HTTPX/Katana.
ملاحظة: ApiHunter هي أداة مفتوحة المصدر بموجب ترخيص MIT وتعتبر مكملًا مهمًا لـ BurpAPISecuritySuite. توفر إمكانيات استطلاع متقدمة لواجهات API تسد الفجوات التي تتركها الماسحات الأخرى. راجع https://github.com/Teycir/ApiHunter للتثبيت والاستخدام.








BurpAPISecuritySuite هي مجموعة أدوات كاملة لاختبار أمان API تقوم بما يلي:
/users/123 → /users/{id})subfinder + dnsx + httpxBurpAPISecuritySuite.pyRecon لعرض نقاط النهاية الملتقطة والنتائجPassive Discovery، انقر على Run Differential للفحوصات المضادة للواقع بدون نقاط، أو Run Invariants لكامل حزمة المنطق العميقRecon، انقر على Refresh Invariants لتحديث نتائج Differential + Sequence + Golden + State Matrix + Token Lineage + Parity Drift قبل التصديرRecon، انقر على Export AI Bundle لتوليد سياق AI لجميع علامات التبويبexcalibur-burp-bridge/v1 (Excalibur هي أداة خاصة: https://github.com/Teycir/Excalibur)الحد الأقصى للذاكرة (افتراضي 20,000 صف).قيم Grep...، قواعد العلامات...، وسير عمل regex المحفوظ (حفظ Regex + المرشحات المحفوظة).إظهار تفاصيل نقطة النهاية، إرسال المحدد إلى Repeater، نسخ الصفوف المحددة، والتحديد الجماعي.Name: valueCopy URL(s) (أو انقر بزر الماوس الأيمن Copy Selected URL(s)) لنسخ عناوين URL الكاملةResult للترتيب حسب الخطورة، أو استخدم Sort Severity للترتيب السريع CRITICAL -> HIGH -> MEDIUM -> OKAll أو الفحوصات حسب الفئة (API3، API4، API5، API6، API9، API10)All Endpoints، Filtered View، أو نطاق المضيف الحاليauth -> object access -> state change)Selected Endpoint، Filtered View، أو All Endpoints.Proxy/Live Capture، Imported HAR/Replay، أو مسح كليهما معًا.All API Sensitive، Secrets & Tokens، PII & Financial، Credentials & Session، Infra/Internal Exposure.PATH وقت التشغيل، ثم استكشافات الصدفة (bash -lc و bash -ic) عبر command -v، وينسخ المسار المطلق المكتشف؛ لا يوجد مرشحون احتياطيون ثابتون)apihunter من PATH (عملية + استكشاف الصدفة) وتحديث الحقل تلقائيًا إلى المسار الثنائي المطلق عندما يكون متاحًاQuick (Desktop Preset)، Balanced (Desktop Preset) (افتراضي)، Deep (Desktop Preset)Unauth Only، Auth Only، Auth + Unauth (افتراضي). في وضع المرور المزدوج، يتم تقسيم عناوين URL الأساسية المكررة إلى قوائم أهداف و ؛ كل مرور يعمل على قائمته الخاصة. يستخدم الارتباط بالمصادقة كلًا من رؤوس مصادقة الطلب وإشارات المصادقة غير الرأسية (، علامات الرمز/الكوكي/الجلسة في بيانات تعريف الطلب).Unauth Only، Auth Only، Auth + Unauth (افتراضي). في وضع المرور المزدوج، يتم تقسيم عناوين URL الأساسية المكررة إلى قوائم أهداف مرتبطة بالمصادقة و غير مرتبطة بالمصادقة؛ كل مرور يعمل على قائمته الخاصة. يستخدم الارتباط بالمصادقة كلًا من رؤوس مصادقة الطلب وإشارات المصادقة غير الرأسية (auth_detected، علامات الرمز/الكوكي/الجلسة في بيانات تعريف الطلب). استخلاص سياق المصادقة يلتقط أفضل رأس Authorization متاح، ورؤوس تشبه المصادقة العليا (X-API-Key، Api-Key، ApiKey، X-Auth-Token، X-Access-Token)، ويستخرج أزواج الكوكيز من رؤوس Cookie للطلب.kr المحلي.kite محلي أو اسم مستعار لـ Assetnote مثل apiroutes-260227:20000Fast، Balanced، Deep، مع تحديد Balanced افتراضيًا لتغطية أوسع في المرور الأول؛ Fast يحافظ على حد أقصى زمني أضيق 10 دقائق لفرز أسرع و Deep يقضي سقفًا زمنيًا 15 دقيقة على عدد أقل من المضيفين بمسح كاملCustom Targets... بدلاً من نطاق Recon المصفىmax 20 إدخالات، واحد لكل سطر) مع تعقيم صارم وتطبيع عنوان URL الأساسي (scheme://host[:port]/)Fast، Balanced، DeepFast، Balanced، DeepFast، Balanced، Deep لـ subfinder/dnsx/httpxsubfinder ← dnsx ← httpx لاكتشاف أصول API الحيةBOLA (انتهاك تفويض مستوى الكائن المكسور)
IDOR (مرجع كائن مباشر غير آمن)
حقن SQL
XSS (البرمجة النصية عبر المواقع)
حقن NoSQL
استغلال JWT
إساءة استخدام GraphQL
SSTI (حقن القوالب من جانب الخادم)
حالات السباق
منطق الأعمال
تجاوز WAF
اجتياز المسار
{ "metadata": { "timestamp": "20240115_143022", "total_endpoints": 15, "total_requests": 47 }, "endpoints": [ { "endpoint": "GET:/api/users/{id}", "method": "GET", "normalized_path": "/api/users/{id}", "host": "api.example.com", "sample_count": 3, "parameters": { "url": ["id"], "body": [], "cookie": ["session"], "json": [] }, "auth_methods": ["Bearer Token"], "response_codes": [200, 404], "content_types": ["application/json"], "api_patterns": ["REST API", "JSON API", "CRUD: GET"], "sample_requests": [...] } ], "api_structure": { "api_types": ["REST API", "JSON API"], "http_methods": ["GET", "POST", "PUT", "DELETE"], "auth_methods": ["Bearer Token", "API Key"], "base_paths": ["/api/", "/v1/"] }, "security_observations": [ { "type": "Potential IDOR/BOLA", "severity": "Critical", "count": 5, "examples": ["GET:/api/users/{id}", "GET:/api/orders/{id}"], "recommendation": "Implement object-level authorization checks" }, { "type": "Unauthenticated Endpoints", "severity": "High", "count": 3, "examples": ["GET:/api/health", "GET:/api/version"] }, { "type": "Weak Encryption (Base64)", "severity": "High", "count": 2, "examples": [{"endpoint": "POST:/api/auth", "types": ["Base64"]}], "recommendation": "Use proper encryption (AES-256, TLS 1.3)" } ], "llm_prompt": "# API Red Team Extension Generation\n\n..." }
## البيانات والتصدير
### ما يتم التقاطه
### لكل نقطة نهاية
- طريقة HTTP والمسار المُطبَّع
- المضيف، البروتوكول، المنفذ
- سلسلة الاستعلام وجميع أنواع المعلمات (URL, body, cookie, JSON)
- رؤوس الطلب/الاستجابة
- محتوى الطلب/الاستجابة (مقتطع إلى 20 كيلوبايت)
- رموز حالة الاستجابة
- أنواع المحتوى
- طرق المصادقة المكتشفة
- أنماط API (REST, GraphQL, SOAP, إلخ.)
### التحليل
- نظرة عامة على هيكل API (الأنواع، الطرق، المصادقة، المسارات الأساسية)
- ملاحظات أمنية (نقاط نهاية غير مصادق عليها، بيانات حساسة)
- تجميع نقاط النهاية وإزالة التكرار
- طلبات نموذجية لكل نقطة نهاية
## التكامل
### تكامل موجه LLM
يتضمن التصدير موجهات وسياق جاهزين للذكاء الاصطناعي تعطي الأولوية لـ:
1. مسارات استغلال البيانات الحساسة (التعرض عبر الحسابات/المستأجرين)
2. تغييرات الحالة غير المصرح بها (إساءة استخدام سير العمل/دورة الحياة)
3. عيوب منطقية غير واضحة بدلاً من النتائج العامة المعرضة للتكرار
4. فروقات الأدلة القابلة للتكرار وطلبات البيانات المفقودة
الأعمال الفنية الأساسية للذكاء الاصطناعي:
- `ai_bundle.json`
- `ai_all_tabs_context.json`
- `ai_openai_request.json`
- `ai_anthropic_request.json`
- `ai_ollama_request.json`
### سير عمل المستودع المصاحب (APIPentesting)
تم تصميم `BurpAPISecuritySuite` و `APIPentesting` لاستخدامهما معًا:
1. التقاط وتحليل الحركة المرورية في BurpAPISecuritySuite.
2. في `Recon`، انقر على `Export AI Bundle`.
3. في APIPentesting، قم بتشغيل:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json <scan-name>`
4. راجع `Reports/<scan-name>-<timestamp>/priority.json` و `results.jsonl`.
5. استخدم `scripts/AI_TRIAGE_PROMPT.md` (من APIPentesting) مع واجهة الذكاء الاصطناعي الخاصة بك للفرز الأولي للبيانات الحساسة.
تقسيم المسؤولية:
- BurpAPISecuritySuite: الالتقاط داخل Burp، الإثراء، التحليل العميق للمنطق، تغليف الذكاء الاصطناعي/التصدير.
- APIPentesting: تنسيق المسح الخارجي، الترتيب، والفرز الأولي للاستغلال بمساعدة الذكاء الاصطناعي.
## أمثلة على سير العمل
### 1. توليد الحمولات المدعومة بالذكاء الاصطناعي```bash
# 1. Capture API traffic in Burp
# 2. (Optional) Run Passive Discovery → "Run Invariants"
# 3. (Optional) In Recon, click "Refresh Invariants"
# 4. In Recon, click "Export AI Bundle"
# 5. Run APIPentesting scan from the exported bundle:
# ./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan
# 6. Feed Reports/.../priority.json + results.jsonl to AI with
# scripts/AI_TRIAGE_PROMPT.md for sensitive-data-first exploit triage.
### 3. Burp Intruder مع Auto-Positions```bash
# 1. Generate fuzzing attacks
# 2. Click "Send to Intruder"
# 3. Burp Intruder opens with §markers§ pre-configured
# 4. Load payloads from exported payloads.json
# 5. Launch attack
~/burp_APIRecon/ ├── FullExport_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── HostExport_HOSTNAME_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── Payloads_TIMESTAMP/ │ └── payloads.json (idor, sqli, xss, nosqli, ssrf, xxe, ssti, deserialization, waf_bypass) ├── AI_Context_TIMESTAMP/ │ ├── ai_context.json │ ├── ai_bundle.json │ ├── ai_all_tabs_context.json │ ├── ai_vulnerability_context.json │ ├── ai_behavioral_analysis.json │ ├── ai_counterfactual_differential_findings.json │ ├── ai_counterfactual_differential_summary.json │ ├── ai_sequence_invariant_findings.json │ ├── ai_sequence_evidence_ledger.json │ ├── ai_golden_ticket_findings.json │ ├── ai_golden_ticket_ledger.json │ ├── ai_state_transition_findings.json │ ├── ai_state_transition_ledger.json │ ├── ai_token_lineage_findings.json │ ├── ai_token_lineage_ledger.json │ ├── ai_parity_drift_findings.json │ ├── ai_parity_drift_ledger.json │ ├── ai_openai_request.json │ ├── ai_anthropic_request.json │ └── ai_ollama_request.json ├── SequenceInvariant_Export_TIMESTAMP/ │ ├── counterfactual_differential_findings.json │ ├── counterfactual_differential_summary.json │ ├── sequence_invariant_findings.json │ ├── sequence_evidence_ledger.json │ ├── golden_ticket_findings.json │ ├── golden_ticket_ledger.json │ ├── state_transition_findings.json │ ├── state_transition_ledger.json │ ├── token_lineage_findings.json │ ├── token_lineage_ledger.json │ ├── parity_drift_findings.json │ └── parity_drift_ledger.json ├── TurboIntruder_TIMESTAMP/ │ ├── race_condition.py │ ├── bola_enum.py │ └── jwt_brute.py ├── VersionScan_Export_TIMESTAMP/ │ └── version_scan.txt ├── ParamMiner_Export_TIMESTAMP/ │ └── param_mining.txt └── NucleiTargets_TIMESTAMP/ └── targets.txt
### أفضل الممارسات
### مرحلة الاستطلاع
- **التقاط حركة المرور المصادق عليها**: قم بتسجيل الدخول أولاً لالتقاط نقاط النهاية المحمية
- **تجربة جميع الميزات**: انقر عبر التطبيق بالكامل لتغطية شاملة
- **استخدام أدوار متعددة**: التقط حركة المرور كمسؤول ومستخدم وضيف للكشف عن BOLA
- **مراجعة الإحصائيات**: تحقق من أعداد الحالات الحرجة/العالية/المتوسطة في لوحة الإحصائيات
### مرحلة الفازينغ
- **البدء بـ "الكل"**: قم بتوليد حملة هجوم شاملة أولاً
- **التركيز على عالية المخاطر**: التصفية حسب الخطورة لنقاط النهاية الحرجة
- **التحقق من الاكتشافات**: راجع الهجمات المولدة قبل إرسالها إلى Intruder
- **الاختبار الدفعي**: استخدم Turbo Intruder لظروف السباق والتعداد عالي السرعة
### تكامل الذكاء الاصطناعي
- **تصدير السياق مبكراً**: قم بتوليد سياق الذكاء الاصطناعي بعد الالتقاط الأولي
- **تشغيل وتحديث الثوابت قبل التصدير**: أضف أدلة منطقية عميقة جديدة (تفاضلي + تسلسل + ذهبي + مصفوفة الحالة + سلسلة الرموز + انحراف التكافؤ) قبل إرسال البيانات إلى الذكاء الاصطناعي
- **تكرار الحمولات**: استخدم حمولات مولدة بالذكاء الاصطناعي، اختبر، حسّن الموجه
- **الجمع بين التقنيات**: ادمج حمولات الذكاء الاصطناعي مع مكتبة الحمولات المدمجة
### الأتمتة
- **تكامل Nuclei**: تشغيل Nuclei للتحقق السريع من الثغرات
- **تصدير الأهداف**: استخدم قوائم الأهداف مع ffuf أو wfuzz أو نصوص مخصصة
- **تكامل CI/CD**: أتمتة عمليات التصدير لاختبار الانحدار
## معلومات تقنية
### تفاصيل تقنية
- **التطبيع**: استبدال المعرفات الرقمية وUUIDs وObjectIDs ببدائل نائبة
- **إزالة التكرار**: تتبع نقاط النهاية الفريدة حسب الطريقة + المسار المُطبع
- **الاقتطاع**: الهيئات محدودة بـ 20 كيلوبايت، والعينات محدودة بـ 3 لكل نقطة نهاية
- **كشف المصادقة**: تحديد Bearer, Basic, مفتاح API, ملف تعريف الارتباط للجلسة
- **مطابقة الأنماط**: كشف قائم على التعبير المنتظم لـ REST وGraphQL وSOAP
### القيود
- لا يلتقط حركة مرور WebSocket
- الاستجابات الثنائية لا تُحلل بالكامل
- الاستجابات الكبيرة تُقتطع (حد 20 كيلوبايت)
- يتطلب Jython (صيغة Python 2.7)
## حالات الاستخدام
- **اختبار اختراق API**: فازينغ شامل مع أكثر من 108 متجه هجوم
- **صيد مكافآت الثغرات**: كشف واستغلال آلي لـ BOLA/IDOR
- **البحث الأمني**: تقنيات هجوم متقدمة (ظروف السباق، JWT، GraphQL)
- **عمليات الفريق الأحمر**: نصوص Turbo Intruder للهجمات عالية السرعة
- **الاختبار بمساعدة الذكاء الاصطناعي**: توليد حمولات مخصصة باستخدام ChatGPT/Claude
- **أمان CI/CD**: تصدير الأهداف لاختبار الانحدار الآلي
- **التدريب والتعليم**: تعلم ثغرات API من خلال أمثلة واقعية
## التوثيق
- [فهرس التوثيق الكامل](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/DOCUMENTATION-INDEX.md)
- [نظرة عامة على البنية](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/Architecture.md)
- [التحقق من فازينغ GraphQL](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/GRAPHQL_VALIDATION.md)
- [مرجع علامات Logger++](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/loggerpp_tags.md)
## الأسئلة الشائعة
### أسئلة عامة
**س: هل يعمل هذا مع Burp Suite Community Edition؟**
ج: نعم! جميع الميزات الأساسية تعمل مع كل من الإصدارين Community وProfessional. ومع ذلك، تتطلب بعض ميزات Burp المتقدمة مثل تكامل Scanner الإصدار Pro.
**س: لماذا لا تلتقط الإضافة حركة المرور؟**
ج: تحقق من أن:
- تم تمكين تبديل الالتقاط التلقائي في علامة التبويب Recon
- أنت تتصفح عبر وكيل Burp
- الهدف يرسل حركة مرور HTTP/HTTPS (لا يتم دعم WebSockets)
- تحقق من سجل النشاط لأي رسائل خطأ
**س: كيف أقوم بتثبيت Jython؟**
ج: قم بتنزيل Jython Standalone JAR من https://www.jython.org/download، ثم في Burp: Extender → Options → Python Environment → Select File → اختر ملف jython-standalone-*.jar.
### الأداء والحدود
**س: كم عدد نقاط النهاية التي يمكنها التعامل معها؟**
ج: تتعامل الإضافة بكفاءة مع أكثر من 500 نقطة نهاية مع التدوير التلقائي عند الوصول إلى الحد (800). تتم إزالة نقاط النهاية الأقدم تلقائيًا.
**س: لماذا تُقتطع الاستجابات إلى 20 كيلوبايت؟**
ج: لمنع مشاكل الذاكرة مع الاستجابات الكبيرة مع الحفاظ على سياق التحليل المفيد. الحد الأقصى الافتراضي الحالي لالتقاط الهيئة هو 20 كيلوبايت.
**س: هل يمكنني زيادة حد العينة لكل نقطة نهاية؟**
ج: نعم، استخدم القائمة المنسدلة "Samples" في علامة التبويب Recon (عينة واحدة، 3، 5، أو 10 عينات لكل نقطة نهاية).
### الفازينغ والهجمات
**س: لماذا لا أرى أي هجمات BOLA/تجاوز المصادقة؟**
ج: تتطلب هذه الهجمات نقاط نهاية مصادق عليها. تأكد من:
- تسجيل الدخول إلى التطبيق أولاً
- التقاط حركة المرور أثناء المصادقة
- البحث عن نقاط نهاية تحتوي على رموز Bearer أو مفاتيح API أو ملفات تعريف ارتباط الجلسة
**س: كيف أستخدم الهجمات المولدة؟**
ج: ثلاث طرق:
1. **Burp Intruder**: انقر "Send to Intruder" للاختبار الآلي
2. **Turbo Intruder**: تصدير النصوص للهجمات عالية السرعة
3. **يدويًا**: استخدم "Copy as cURL" للاختبار عبر سطر الأوامر
**س: ما الفرق بين "الكل" وأنواع الهجوم المحددة؟**
ج: "الكل" يولد هجمات شاملة عبر جميع أنواع الثغرات. الأنواع المحددة (مثل "SQLi") تركز فقط على فئة الثغرة تلك للاختبار المستهدف.
**س: كيف أختبر نقاط نهاية GraphQL بفعالية؟**
ج: نهج ثلاثي الشعب:
1. **علامة تبويب Fuzzer**: اختر نوع الهجوم "GraphQL" لأكثر من 40 حمولة خاصة بـ GraphQL (الاستبطان، التجميع، تحميل التوجيهات، اقتراح الحقول)
2. **علامة تبويب Nuclei**: تشغيل مع `-tags graphql` لأكثر من 29 قالبًا تغطي الأخطاء في التكوين والكشف
3. **الاختبار اليدوي**: استخدم "Copy as cURL" لاختبار الاستبطان والتجميع وهجمات العمق يدويًا
يكتشف Fuzzer نقاط نهاية GraphQL تلقائيًا ويولد هجمات من أجل:
- استخراج المخطط عبر الاستبطان
- رفض الخدمة عبر التجميع (مصفوفة/اسم مستعار) وهجمات العمق
- اقتراح الحقل لاكتشاف المخطط عند تعطيل الاستبطان
- تحميل التوجيهات (إساءة استخدام @skip و @include)
- رفض الخدمة عبر الأجزاء الدائرية
- الطفرات غير المصرح بها
### الأدوات الخارجية
**س: هل أحتاج إلى تثبيت ApiHunter/Nuclei/HTTPX/Katana/FFUF/Kiterunner؟**
ج: فقط إذا كنت ترغب في استخدام علامات التبويب المحددة تلك. تعمل الإضافة الأساسية بدونها. قم بالتثبيت من:
- ApiHunter: https://github.com/Teycir/ApiHunter (أداة مملوكة - تتطلب تثبيتًا منفصلاً أو بناء محلي في `~/Repos/ApiHunter`، ثم بناء `target/release/apihunter`)
- Nuclei: https://github.com/projectdiscovery/nuclei
- HTTPX: https://github.com/projectdiscovery/httpx
- Katana: https://github.com/projectdiscovery/katana
- FFUF: https://github.com/ffuf/ffuf
- Kiterunner: https://github.com/assetnote/kiterunner
**س: أين يجب أن أقوم بتثبيت هذه الأدوات؟**
ج: المسارات الافتراضية:
- `~/Repos/ApiHunter/target/release/apihunter`
- `~/go/bin/nuclei`
- `~/go/bin/httpx`
- `~/go/bin/katana`
- `~/go/bin/ffuf`
- `~/.local/bin/kr`
- على Windows، المسارات الافتراضية الشائعة تحت `C:\\Users\\<you>\\go\\bin\\*.exe`
أو قم بتكوين مسارات مخصصة في كل علامة تبويب.
تكتشف علامات التبويب الآن تلقائيًا مواقع Go-bin على غرار Unix و Windows `*.exe` عند وجودها.
**س: كيف تعمل تجاوزات الأوامر المخصصة؟**
ج:
- اترك `Enable Custom` غير محدد لاستخدام الإعدادات الافتراضية الآمنة المدمجة.
- حدد `Enable Custom` لتشغيل ما تكتبه بالضبط في مربع الأوامر.
- استخدم `Preset Cmd...` لملء الأوامر الشائعة بسرعة (لا يزال اختياريًا حتى يتم تحديد `Enable Custom`).
- انقر `?` لرؤية العناصر النائبة والأمثلة لكل علامة تبويب.
- يتم تشغيل الأوامر المخصصة باستخدام `cmd /c` على Windows و `bash/sh -lc` على Linux/macOS.
- تستخدم الإعدادات الافتراضية المدمجة لـ HTTPX و Katana أعلام ملفات القائمة الأصلية (`-l` / `-list`) للتنفيذ عبر المنصات.
### ملاحظات أمنية
- وضع الأوامر المخصصة صارم عن عمد و**اختياري** (يجب تحديد `Enable Custom`).
- يتم التحقق من الأوامر المخصصة المعروضة بحثًا عن أجزاء الصدفة المحظورة (على سبيل المثال صيغة ربط الأوامر/إعادة التوجيه/الصدفة الفرعية).
- الملفات التنفيذية مقيدة بقوائم السماح لكل أداة في الوضع المخصص (على سبيل المثال `nuclei`, `httpx`, `katana`, `waybackurls`/`gau`, `apihunter`, `subfinder`).
- يتم تعقيم قيم السياق النائبة قبل عرض القالب، وتتوفر متغيرات مقتبسة (`{targets_file_q}`, `{urls_file_q}`, إلخ) لاستيفاء مسار أكثر أمانًا.
- إذا كانت سير عملك تحتاج إلى منطق صدفة معقد خارج هذه السياسة، قم بتشغيل ذلك الأمر يدويًا خارج الإضافة.
**س: لماذا يعرض HTTPX أخطاء خيار غير صالح؟**
ج:
- تأكد من استخدام `httpx` من ProjectDiscovery، وليس أداة سطر الأوامر `httpx` الخاصة بـ Python.
- المسار الموصى به: `~/go/bin/httpx`.
- تقوم الإضافة الآن بالتحقق من توقيعات الأدوات المحلية وتظهر تلميح إصلاح عند عدم التطابق.
**س: كيف أملأ رؤوس ضيف/مستخدم/مسؤول لإعادة تشغيل المصادقة بسرعة؟**
ج:
- في `Auth Replay`، انقر `Extract` بجوار ضيف/مستخدم/مسؤول.
- تفتح نافذة منبثقة قابلة للبحث مع مرشحين لرؤوس تم التقاطها.
- قم بالتصفية حسب نص نقطة النهاية أو اسم الرأس أو جزء الرمز المميز.
- حدد عنصرًا واحدًا وانقر `OK`؛ يتم ملء الحقل بتنسيق `Name: value`.
### التصدير والتكامل
**س: أين يتم حفظ الملفات المصدرة؟**
ج: جميع عمليات التصدير تذهب إلى `~/burp_APIRecon/` مع أدلة فرعية ذات طابع زمني. تحقق من سجل النشاط للمسارات الدقيقة.
**س: كيف أستخدم تصدير سياق الذكاء الاصطناعي؟**
ج:
1. (اختياري) تشغيل `Passive Discovery` ← `Run Invariants`
2. (اختياري) في علامة تبويب `Recon`، انقر `Refresh Invariants`
3. في علامة تبويب `Recon`، انقر `Export AI Bundle`
4. استخدم APIPentesting للمسح من هذا التصدير:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan`
5. قم بتغذية `Reports/…/priority.json` + `results.jsonl` إلى واجهة المستخدم الخاصة بالذكاء الاصطناعي باستخدام `scripts/AI_TRIAGE_PROMPT.md` من APIPentesting
6. استخدم `ai_sequence_evidence_ledger.json` و `ai_golden_ticket_ledger.json` و `ai_state_transition_ledger.json` لتحديد أولويات ما يجب التحقق منه أولاً
**س: هل يمكنني استيراد البيانات المصدرة سابقًا؟**
ج: نعم. `Import` يقبل:
- `api_analysis.json` (تصدير BurpAPISecuritySuite)
- تصديرات Excalibur `.har` (Excalibur أداة مملوكة: https://github.com/Teycir/Excalibur)
- ملفات جانبية Excalibur `-replay-studio.json` / `-cookies.json` / `-insights.json` (تُكتشف تلقائيًا من نفس بادئة الجلسة)
- `excalibur_bridge_bundle.json` (`schema: excalibur-burp-bridge/v1`)
إذا تم اكتشاف قطع أثرية من Excalibur، تقوم الأداة بتشغيل `Refresh Invariants` تلقائيًا بعد الاستيراد بحيث تكون ذاكرات التخزين المؤقتة التفاضلية + التسلسل + الذهبية + الحالة + سلسلة الرموز + انحراف التكافؤ جاهزة فورًا.
**س: هل يمكنني إرسال الطلبات الملتقطة إلى Postman أو Insomnia؟**
ج: نعم. في علامة تبويب Recon، استخدم:
- `Postman` لتصدير `postman_collection.json` (المجموعة v2.1)
- `Insomnia` لتصدير `insomnia_collection.json` (تنسيق استيراد Insomnia)
- كلاهما يدعم تحديد النطاق: `All Endpoints` أو `Filtered View` أو `Current Host`.
### استكشاف الأخطاء وإصلاحها
**س: تم تحميل الإضافة ولكن لا تظهر في علامات التبويب؟**
ج: تحقق من علامة تبويب Extender → Extensions في Burp بحثًا عن الأخطاء. المشكلات الشائعة:
- Jython لم يتم تكوينه بشكل صحيح
- أخطاء في صيغة Python 2.7 (الإضافة تستخدم Jython/Python 2.7)
- ذاكرة غير كافية (قم بزيادة حجم كومة Burp)
**س: رسالة "No endpoints captured"؟**
ج: تأكد من:
- أنك تتصفح بنشاط عبر وكيل Burp
- الالتقاط التلقائي ممكّن
- الهدف يقوم بطلبات HTTP (ليس فقط تحميل ملفات ثابتة)
- تحقق مما إذا كانت نقاط النهاية يتم تصفيتها (يتم تصفية الصور/الخطوط تلقائيًا)
**س: فحص Nuclei/HTTPX يتجمد أو ينتهي الوقت؟**
ج:
- تحقق من تثبيت الأداة وأن المسار صحيح
- تحقق من اتصال الشبكة بالأهداف
- قد تستغرق عمليات المسح الكبيرة عدة دقائق (المهلة القصوى الافتراضية: 15 دقيقة)
- استخدم **Target Bases...** مع **Only Base+Derivatives** لفرض نطاق صارم لهدف واحد
- استخدم زر **Stop** في نفس علامة التبويب لإلغاء تشغيل الأدوات الخارجية
- تحقق من سجل النشاط للحصول على رسائل خطأ مفصلة
**س: لماذا يتم وضع علامة على بعض نقاط النهاية بأنها "Critical" أو "High"؟**
ج: تعتمد شدة الخطورة على:
- **Critical**: نقاط نهاية التصحيح/الإدارة، IDOR/BOLA غير المصادق عليها
- **High**: IDOR/BOLA مصادق عليها، كشف بيانات حساسة، تشفير ضعيف
- **Medium**: استجابات خطأ، معلمات منعكسة
- **Info**: نقاط نهاية قياسية
### الاستخدام المتقدم
**س: كيف أختبر ظروف السباق؟**
ج:
1. قم بتوليد هجمات فازينغ (علامة تبويب Fuzzer)
2. انقر زر "Turbo Intruder"
3. قم بتحميل البرنامج النصي `race_condition.py` المصدر في Turbo Intruder من Burp
4. قم بالتكوين لـ 50+ طلب متوازي
**س: هل يمكنني تخصيص حمولات الهجوم؟**
ج: نعم! قم بتصدير الحمولات إلى JSON، وتعديلها، ثم:
- استخدمها في Burp Intruder يدويًا
- أطعمها للذكاء الاصطناعي للتحسين
- أنشئ نصوصًا برمجية مخصصة باستخدام مكتبة الحمولات
**س: كيف أقارن بين إصدارين من API؟**
ج:
1. قم بتصدير بيانات API من الإصدار 1 ("Export All")
2. امسح البيانات والتقط الإصدار 2
3. قم بتصدير الإصدار 2
4. استخدم علامة التبويب Diff ← تحميل كلا التصديرين ← مقارنة
**س: ما هي أفضل سير عمل لصيد مكافآت الثغرات؟**
ج:
1. التقط حركة مرور مصادق عليها (جميع أدوار المستخدم)
2. راجع نقاط النهاية ذات الخطورة الحرجة/العالية أولاً
3. قم بتوليد هجمات "الكل" في Fuzzer
4. ركز على نقاط نهاية BOLA/IDOR
5. استخدم Version Scanner للعثور على واجهات برمجة التطبيقات القديمة
6. قم بتشغيل Param Miner على نقاط النهاية عالية القيمة
7. قم بالتصدير إلى Nuclei للتحقق الآلي
### أبرز الميزات التقنية
- **بنية Jython نظيفة**: تصميم معياري بمنطق أساسي قابل للاختبار
- **استخراج معياري**: سير العمل الثقيل مستخرج إلى وحدات مساعدة (`heavy_runners.py`, `ai_prep_layer.py`, `behavior_analysis.py`)
- **كشف ذكي**: تحديد الثغرات المراعي للسياق
- **محسّن للأداء**: يتعامل مع أكثر من 500 نقطة نهاية بكفاءة
- **عبر المنصات**: يعمل على Windows و macOS و Linux
- **قابل للتوسيع**: سهل إضافة أنواع هجوم وحمولات جديدة
- **واجهة مستخدم احترافية**: شدة الخطورة مرمزة بالألوان، واجهة ذات علامات تبويب، إحصائيات فورية
- **تغطية إعادة التشغيل**: يتضمن اختبارات مجموعة إعادة التشغيل الذهبية للكشف عن الثبات التسلسلي + إخراج دفتر الثقة
## 💼 الخدمات المهنية
هل تحتاج إلى أدوات أمنية مخصصة أو حلول اختبار API؟ أنا أبني تطبيقات وأدوات أمنية جاهزة للإنتاج.
### المشاريع المميزة
- **[ApiHunter](https://github.com/Teycir/ApiHunter)** - أداة استطلاع API واختبار أمني آلي مع اكتشاف ذكي لنقاط النهاية
- **[TimeSeal](https://timeseal.online)** ([GitHub](https://github.com/Teycir/Timeseal)) - خزانة زمنية مشفرة ومفتاح الرجل الميت مع تشفير عدم الثقة
- **[Ghost Chat](https://ghost-chat.pages.dev)** - دردشة P2P آمنة مع WebRTC، بدون تخزين خادم، مؤقتات تدمير ذاتي
- **[BurpCopyIssues](https://github.com/Teycir/BurpCopyIssues)** - إضافة Burp Suite لتصفح ونسخ وتصدير نتائج الفحص
- **[BurpWpsScan](https://github.com/Teycir/BurpWpsScan)** - ماسح أمني لـ WordPress لـ Burp Suite مع تكامل WPScan API
- **[Excalibur](https://github.com/Teycir/Excalibur)** - أدوات اكتشاف سطح هجوم API وسير عمل الجلسة لعمليات اختبار الاختراق العملية (أداة مملوكة)
- **[APIPentesting](https://github.com/Teycir/APIPentesting)** - سير عمل رفيق للمسح الخارجي وفرز الاستغلال يركز على Burp لصيد مكافآت ثغرات API
- **أدوات أمنية مخصصة** - إضافات Burp، أطر اختبار API، نصوص أتمتة
### الخدمات المقدمة
- 🔒 **تطوير أدوات أمنية** - إضافات Burp مخصصة، أدوات اختبار اختراق، أطر أتمتة
- 🚀 **تطوير تطبيقات الويب** - تطوير كامل المكدس بتقنيات حديثة
- 🔧 **استشارات أمان API** - مراجعة البنية، تقييم الثغرات، إرشادات المعالجة
- 🤖 **تكامل الذكاء الاصطناعي** - أدوات أمنية مدعومة بنماذج اللغة الكبيرة، توليد حمولات آلي، فازينغ ذكي
**تواصل معي**: [teycirbensoltane.tn](https://teycirbensoltane.tn) | متاح للمشاريع المستقلة والاستشارات
## المساهمة
### المؤلف
تم التطوير بواسطة [Teycir Ben Soltane](https://teycirbensoltane.tn)
### الترخيص
رخصة MIT - مجاني للاستخدام في اختبارات الأمن المصرح بها وأغراض البحث.
## سجل التغييرات
راجع [CHANGELOG.md](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/CHANGELOG.md) للحصول على تاريخ الإصدار الكامل.
| الميزة | BurpAPISecuritySuite | Burp Scanner Pro | OWASP ZAP | Postman |
|---|
| السعر | مجاني | 449 دولارًا/السنة | مجاني | مجاني/مدفوع |
| التركيز على API | ✅ نعم | ⚠️ جزئي | ⚠️ جزئي | ✅ نعم |
| التقاط والتطبيع التلقائي | ✅ نعم | ❌ لا | ⚠️ أساسي | ❌ لا |
| كشف BOLA/IDOR | ✅ تلقائي | ⚠️ يدوي | ⚠️ يدوي | ❌ لا |
| أنواع الهجمات | 15 نوعًا | 100+ (عام) | 50+ (عام) | محدود |
| حمولات API | 108+ مخصصة لـ API | ويب عامة | ويب عامة | أساسية |
| تحليل JWT | ✅ تلقائي | ⚠️ يحتاج إضافة | ⚠️ يحتاج إضافة | ⚠️ يدوي |
| اختبار GraphQL | ✅ مدمج | ❌ لا | ⚠️ محدود | ⚠️ يدوي |
| اختبار سباق الحالة | ✅ Turbo Intruder | ✅ Turbo Intruder | ❌ لا | ❌ لا |
| تكامل الذكاء الاصطناعي | ✅ تصدير حزمة AI + حمولات LLM | ❌ لا | ❌ لا | ❌ لا |
| ماسح الإصدارات | ✅ مدمج | ❌ لا | ❌ لا | ❌ لا |
| كشف المعلمات | ✅ مدمج | ⚠️ يحتاج إضافة | ❌ لا | ❌ لا |
| اكتشاف Wayback | ✅ مدمج | ❌ لا | ❌ لا | ❌ لا |
| تكامل الأدوات الخارجية | ✅ ApiHunter, Nuclei, SQLMap, Dalfox, HTTPX, Katana, FFUF, Subfinder, DNSX | ❌ لا | ⚠️ محدود | ⚠️ محدود |
| تقنيات تجاوز WAF | ✅ 20+ طريقة | ⚠️ بعض | ⚠️ بعض | ❌ لا |
| صيغ التصدير | JSON, Intruder, Turbo, Nuclei, cURL | XML, HTML | XML, HTML, JSON | JSON, cURL |
| دعم Burp Community | ✅ نعم | ❌ Pro فقط | غير متاح | غير متاح |
| منحنى التعلم | منخفض | متوسط | متوسط | منخفض |
| الأفضل لـ | اختبار اختراق API، صيد الثغرات | اختبار تطبيقات الويب الكامل | أتمتة DAST | تطوير API |
abuse_chain_* و proof_mode_packet_sets و spec_guardrails_* و role_delta_*مرتبطة بالمصادقةغير مرتبطة بالمصادقةauth_detectedUnauth Only، Auth Only، Auth + Unauth (افتراضي). في وضع المرور المزدوج، يتم تقسيم عناوين URL الأساسية المكررة إلى قوائم أهداف مرتبطة بالمصادقة و غير مرتبطة بالمصادقة؛ كل مرور يعمل على قائمته الخاصة. يستخدم الارتباط بالمصادقة كلًا من رؤوس مصادقة الطلب وإشارات المصادقة غير الرأسية (auth_detected، علامات الرمز/الكوكي/الجلسة في بيانات تعريف الطلب).Critical / High / Medium قابل للتكوين من قبل المشغل للتحكم في ضوضاء فرز الملخصCustom Targets... بدلاً من نطاق Recon المصفىmax 20 إدخالات، واحد لكل سطر) مع تعقيم صارم وتطبيع عنوان URL الأساسي (scheme://host[:port]/)، بما في ذلك إزالة التكرار ورفض الأسطر غير الصالحةUse Custom Targets، تفشل التشغيلات بسرعة إذا كان المحتوى المنبثق فارغًا، أو يتجاوز الحد، أو يحتوي على أسطر URL غير صالحةscheme://host[:port]/) لـ ApiHunterQuick: --no-discovery، --max-endpoints 40، --concurrency 4، --timeout-secs 12، --retries 1، --delay-ms 0، ويعطل الماسحات الضوئية الثقيلة (mass-assignment، oauth-oidc، rate-limit، cve-templates، websocket)Balanced: --no-discovery، --max-endpoints 80، --concurrency 5، --timeout-secs 15، --retries 1، --delay-ms 50Deep: --active-checks --response-diff-deep --no-discovery، --max-endpoints 0، --concurrency 6، --timeout-secs 20، --retries 2، --delay-ms 100، --waf-evasion، --per-host-clients، --adaptive-concurrency{apihunter_path}، {targets_file}، {results_file})Auth + Unauth؛ استخدم Auth Only أو Unauth Only، أو قم بتعطيل الوضع المخصص للتنفيذ التلقائي للمرور المزدوج.Critical / High / Medium)، بينما تظل إحصائيات مخرجات الماسح الضوئي كاملة.Fast، Balanced، DeepAuth + Unauth؛ استخدم Auth Only أو Unauth Only، أو قم بتعطيل الوضع المخصص للتنفيذ التلقائي للمرور المزدوج.nuclei/httpx/katana/ffuf/kiterunner/waybackurls/gau/sqlmap/dalfox/subfinder/dnsxtaskkill على Windows و pkill (مع احتياطي killall) على Linux/macOSFilter Noise في Recon المبدئي المحدد عند الإطلاق يضغط مجموعة الأهداف الافتراضيةSSRF (تزوير الطلب من جانب الخادم)
XXE (كيان خارجي XML)
إلغاء التسلسل