الدرس 21 من 24

التقارير الاحترافية والنمو المهني

كتابة تقارير الثغرات الفعالة

3 دقيقة للقراءة

التقرير الجيد يمكن أن يضاعف مكافأتك. التقرير السيء يمكن أن يجعل ثغرة حرجة توصف كمعلوماتية. تقريرك هو منتجك—استثمر فيه.

تأثير جودة التقرير

جودة التقرير وقت الفرز تأثير المكافأة
ممتازة < 24 ساعة +20-50% مكافأة
جيدة 2-3 أيام دفع قياسي
ضعيفة 1-2 أسبوع مخفضة/مرفوضة
ناقصة مغلقة 0 دولار

مكونات التقرير الأساسية

1. العنوان

# عناوين جيدة
- "IDOR في /api/users/{id}/documents يسمح بالوصول لملفات أي مستخدم"
- "Stored XSS في حقل التعليق يؤدي لاختطاف الجلسة"
- "حقن SQL في معامل البحث يمكّن استخراج قاعدة البيانات"

# عناوين سيئة
- "وُجدت ثغرة"
- "مشكلة أمنية"
- "XSS"

2. الملخص

فقرة واحدة تشرح:

  • ما هي الثغرة
  • أين توجد
  • ما يمكن للمهاجم تحقيقه
## الملخص
توجد ثغرة تفويض مستوى الكائن المكسور (BOLA) في نقطة نهاية
استرجاع المستندات `/api/v2/users/{user_id}/documents/{doc_id}`.
بتعديل معامل `user_id`، يمكن للمهاجم المصادق
تحميل مستندات أي مستخدم الخاصة، بما في ذلك السجلات المالية الحساسة
ووثائق الهوية الشخصية.

3. تقييم الخطورة

استخدم CVSS أو تصنيفات المنصة المحددة:

## الخطورة: عالية (CVSS 8.6)

**متجه الهجوم**: الشبكة
**تعقيد الهجوم**: منخفض
**الصلاحيات المطلوبة**: منخفضة (مستخدم مصادق)
**تفاعل المستخدم**: لا شيء
**التأثير**: خرق سرية عالي

التبرير: أي مستخدم مصادق يمكنه الوصول لجميع المستندات الخاصة
للمستخدمين الآخرين بتغيير معامل بسيط.

4. خطوات إعادة الإنتاج

خطوات واضحة تماماً ومرقمة يمكن لأي شخص اتباعها:

## خطوات إعادة الإنتاج

1. أنشئ حسابين: attacker@test.com و victim@test.com
2. سجل دخول كضحية، ارفع مستنداً في /documents
3. لاحظ معرف المستند في URL: `/documents/12345`
4. سجل دخول كمهاجم
5. انتقل لـ: `/api/v2/users/VICTIM_USER_ID/documents/12345`
6. المستند يُحمّل رغم انتمائه للضحية

**معرف مستخدم الضحية**: 67890 (يمكن تعداده عبر نقطة نهاية /api/users)
**معرف المستند**: 12345

5. إثبات المفهوم

أظهر، لا تقل فقط:

## إثبات المفهوم

### طلب HTTP

GET /api/v2/users/67890/documents/12345 HTTP/2 Host: api.example.com Authorization: Bearer eyJhbG... (رمز المهاجم)


### الاستجابة (مستند الضحية)

HTTP/2 200 OK Content-Type: application/pdf Content-Disposition: attachment; filename="victim_tax_return.pdf"

%PDF-1.4...


### فيديو PoC
[رابط لتسجيل شاشة يظهر الاستغلال الكامل]

6. بيان التأثير

ترجم الثغرة التقنية لمخاطر الأعمال:

## التأثير

**السرية**: خرق كامل لخصوصية مستندات المستخدم
**المستخدمون المتأثرون**: جميع 2.3 مليون مستخدم لديهم مستندات مرفوعة
**البيانات المعرضة للخطر**:
- المستندات المالية (إقرارات ضريبية، كشوف بنكية)
- وثائق الهوية (جوازات سفر، رخص قيادة)
- السجلات الطبية

**سيناريو الهجوم**:
يمكن لمستخدم خبيث تعداد جميع معرفات المستخدمين ومعرفات المستندات
لتحميل كل مستند خاص على المنصة بشكل منهجي،
مما قد يؤدي لسرقة الهوية، الاحتيال المالي،
وانتهاكات تنظيمية (GDPR، HIPAA).

7. اقتراحات الإصلاح

ساعدهم في الإصلاح:

## الإصلاح المقترح

1. نفذ فحص تفويض من جانب الخادم:
```python
def get_document(user_id, doc_id, current_user):
    if user_id != current_user.id:
        raise ForbiddenError("Cannot access other users' documents")
    return Document.query.get(doc_id)
  1. استخدم مراجع غير مباشرة (UUIDs مرتبطة بالجلسة)
  2. أضف تسجيلاً لمحاولات الوصول عبر المستخدمين

## قالب التقرير الكامل

```markdown
# [نوع الثغرة] في [الموقع] يسمح بـ [التأثير]

## الملخص
[1-2 جملة تصف الثغرة وتأثيرها]

## الخطورة
[التصنيف مع التبرير]

## نقطة النهاية/المكون المتأثر
- URL:
- المعامل:
- الطريقة:

## خطوات إعادة الإنتاج
1.
2.
3.

## إثبات المفهوم
[طلب/استجابة، لقطة شاشة، أو فيديو]

## التأثير
[تأثير الأعمال والمستخدمين المتأثرين]

## الإصلاح المقترح
[كيفية الإصلاح]

## المواد الداعمة
- [ ] لقطة شاشة
- [ ] فيديو PoC
- [ ] سجلات طلب/استجابة HTTP

الأخطاء الشائعة

الخطأ الإصلاح
لا PoC دائماً أرفق إثباتاً قابلاً للتكرار
خطوات غامضة كن محدداً، أرفق URLs والحمولات
تأثير مفقود اشرح العواقب التجارية
افتراضات لا تفترض أنهم يعرفون إعدادك
لا إصلاح اقترح إصلاحات عند الإمكان

تحسينات التقرير

لقطات الشاشة

  • علّق بالأسهم والإبرازات
  • أظهر حالات قبل/بعد
  • أرفق طوابع زمنية

فيديوهات PoC

  • اجعلها أقل من دقيقتين
  • اسرد أو أضف تسميات توضيحية
  • أظهر سلسلة الهجوم الكاملة

سجلات الطلبات

  • استخدم تصدير Burp Suite
  • احجب البيانات غير الضرورية
  • أبرز المعاملات الرئيسية

نصيحة احترافية: قبل التقديم، اسأل نفسك: "هل يمكن لشخص لم ير هذا التطبيق أبداً إعادة إنتاج هذه الثغرة من تقريري وحده؟" إذا لا، أضف المزيد من التفاصيل.

في الدرس التالي، سنغطي التواصل الفعال مع فرق الأمان. :::

اختبار

الوحدة 6: التقارير الاحترافية والنمو المهني

خذ الاختبار