منهجية، أدوات، أمثلة، ممارسات عملية، وتوثيق النتائج.
تركز هذه الوحدة على منهجية اختبار اختراق تطبيقات الويب والتطبيقات المحمولة (Web & Mobile Pentesting). تشرح كيف يتم التخطيط للاختبار، جمع المعلومات، البحث عن الثغرات، استغلالها (داخل بيئات مختبرية مرخّصة)، وما بعد الاستغلال، ثم توثيق النتائج بشكل مهني. ستتعلم أيضًا الفروقات والتقنيات الخاصة بتطبيقات الويب مقابل تطبيقات الجوال، وكيفية استخدام أدوات احترافية (مثل Burp Suite, OWASP ZAP, MobSF, Frida) لإجراء اختبارات فعالة وآمنة.
ملحوظة مهمة: جميع التقنيات والأمثلة الواردة في هذه الوحدة يجب تطبيقها فقط داخل بيئات مُصرَّح بها (مختبرات تدريبية مثل Juice Shop, DVWA, WebGoat, تطبيقات تجريبية محلية، أو أنظمة تملك تفويضًا كتابيًا لاختبارها). لا تطبِّقها على أنظمة الآخرين دون إذن صريح.
بنهاية هذه الوحدة سيكون المتدرّب قادرًا على:
سأذكر الأدوات الشائعة مع أمثلة استعمال مبسطة (كلها للتدريب ضمن مختبر فقط).
nmap -sC -sV -oA scan_results target.com
subfinder -d example.com -o subs.txt
amass enum -d example.com -o amass.txt
# استخدم Burp Proxy لالتقاط طلب تسجيل الدخول ثم تحليل الـ tokens والـ cookies.
# Auto Scan عبر واجهة الرسوم أو API.
sqlmap -u "http://target.com/page.php?id=1" --batch --level=3
# (في بيئة مختبرية فقط)
كل الأمثلة التالية لأغراض تعليمية داخل مختبر مرخّص.
العلامة: صفحة تعرض نتائج اعتمادًا على id في URL: ?id=10.
اختبار يدوي: إدخال ' OR '1'='1 في حقل أو باراميتر لمعرفة إن كان التطبيق يعرض نتائج غير متوقعة.
التصحيح: استخدام prepared statements / parameterized queries.
تصحيح (مثال Python sqlite):
# خطأ (تعرض لتجميع السلسلة)
# cursor.execute(f"SELECT * FROM products WHERE id = {product_id}")
# صحيح
cursor.execute("SELECT * FROM products WHERE id = ?", (product_id,))
العلامة: إدخال المستخدم يظهر لاحقًا داخل صفحة HTML دون ترميز.
التصحيح: إخراج جميع القيم باستخدام HTML encoding أو مكتبات الإطار (framework sanitizers)، واستخدام CSP.
مثال (PHP):
echo htmlspecialchars($user_input, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
كشف مفتاح API مخزّن في الكود أو ملف المصدر يؤدي إلى تشغيل endpoint خاص.
تصحيح: لا تخزن المفاتيح في الكود، استخدم KeyStore/Keychain أو KMS وسرّية التحويلات.
استخدم Frida لحقن سكربت يعطّل دوال التحقق من الشهادة داخل التطبيق أثناء التشغيل في بيئة اختبارية.
(أمثلة السكربتات متاحة عبر مصادر تعليمية؛ تُستخدم في مختبر للتعلّم فقط.)
/products?id=).هذه الوحدة الخامسة تمنح المتدرّب مزيجًا متوازنًا بين النظرية والجانب العملي: منهجية واضحة، أدوات عملية، أمثلة قابلة للتجربة داخل مختبر مرخَّص، وإطارًا لإعداد تقارير احترافية. بعد إتقانها، يكون المتدرّب مُجهزًا لإجراء اختبارات تطبيقية آمنة وتقديم نتائج تقنية قابلة للتنفيذ لتحسين أمان التطبيقات.