خطوات إعادة التنفيد (Steps to Reproduce)
إزاي تكتب خطوات يقدر أي حد يمشي عليها ويوصل لنفس النتيجة: مرقّمة، وفيها الـ URL والـ payload والدليل.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
أهلاً بيك. المطور قرا الـ Finding، وقال: مش مصدّق، أنا جرّبت ومفيش مشكلة. المشكلة غالباً مش فيه… المشكلة في الخطوات اللي إنت كتبتها. نشوف خطوات وحشة. لقيت SQLi، وخدت الـ database. طب إزاي؟ فين؟ بإيه؟ نشغّل… ولا حد يقدر يكرر ده.
steps = [
"Found SQLi",
"Got the database",
]
for i, s in enumerate(steps, 1):
print(f"{i}. {s}")المخرجات
1. Found SQLi 2. Got the database
الخطوات الكويسة ليها شروط: مرقّمة، وكل خطوة عملية واحدة. فيها الـ URL أو الـ IP بالزبط. فيها الـ payload كامل، جاهز للنسخ. وكل خطوة مهمة، معاها اسم الـ Screenshot اللي بيِتْبِتها. نفس الـ Finding، بخطوات كويسة. نشغّل… كده أي مطور يقدر يمشي وراك خطوة خطوة.
steps = [
"Open http://10.10.10.5/login.php",
"Intercept the login request in Burp",
"Set username to: admin' OR 1=1-- -",
"Forward the request",
"You are logged in as admin (see 09-sqli-admin.png)",
]
for i, s in enumerate(steps, 1):
print(f"{i}. {s}")المخرجات
1. Open http://10.10.10.5/login.php 2. Intercept the login request in Burp 3. Set username to: admin' OR 1=1-- - 4. Forward the request 5. You are logged in as admin (see 09-sqli-admin.png)
واختبار سهل: ادّي الخطوات لحد تاني، ما شافكش وإنت شغال. لو قدر يوصل لنفس النتيجة، يبقى الخطوات كويسة. ولو سألك ولا سؤال، يبقى فيه حاجة ناقصة. دورك: ضيف خطوة في الأول، إن الـ Burp proxy يتشغّل على مِيّة سبعة وعشرين صفر صفر واحد، port تمانية آلاف وتمانين.
ضيف "Start Burp proxy on 127.0.0.1:8080" كأول خطوة.
الحل: نشغّل…
steps = [
"Start Burp proxy on 127.0.0.1:8080",
"Open http://10.10.10.5/login.php",
"Intercept the login request in Burp",
"Set username to: admin' OR 1=1-- -",
"Forward the request",
"You are logged in as admin (see 09-sqli-admin.png)",
]
for i, s in enumerate(steps, 1):
print(f"{i}. {s}")المخرجات
1. Start Burp proxy on 127.0.0.1:8080 2. Open http://10.10.10.5/login.php 3. Intercept the login request in Burp 4. Set username to: admin' OR 1=1-- - 5. Forward the request 6. You are logged in as admin (see 09-sqli-admin.png)
الدرس الجاي: لقينا الثَّغْرة وعندنا الدليل… طب هي خطيرة قد إيه على البيزنس؟ ده الـ Impact. يلا بينا.
03 / دروس المسار (21)
- 01ليه التقرير أهم حاجة في الـ Pentest
- 02مين بيقرا التقرير؟
- 03نظام Notes من أول دقيقة
- 04Activity Log: كل حاجة بالوقت
- 05خلّي الـ Terminal يسجّل لوحده
- 06الأدلة: إيه اللي يعتبر دليل؟
- 07سلامة الأدلة: Hash و Chain of Custody
- 08إخفاء البيانات الحساسة (Redaction)
- 09خطوات إعادة التنفيد (Steps to Reproduce)انت هنا
- 10الـ Impact: الخطر الحقيقي على البيزنس
- 11CVSS: الخطورة برقم
- 12الـ Risk Matrix: الاحتمال في الـ Impact
- 13ترتيب الأولويات والـ Quick Wins
- 14هيكل تقرير اختبار الاختراق
- 15الـ Executive Summary: صفحة للإدارة
- 16كتابة الـ Finding التقني
- 17توصيات الإصلاح اللي تتنفّد فعلاً
- 18خلّي Python يكتب التقرير
- 19المراجعة قبل التسليم والـ Retest
- 20تقرير امتحان OSCP
- 21المراجعة النهائية: من الـ Note للتقرير