🧪 LAB 3: تعداد أفعال HTTP (HTTP Method Enumeration Lab
🎯 الهدف الأساسي: تحديد أفعال HTTP المسموح بها لتطبيق ويب معين (صفحة رئيسية، صفحة تسجيل دخول، صفحة منشورات، مجلد رفع) باستخدام Dirb و Curl و Burp Suite، واكتشاف إمكانيات رفع/حذف الملفات.
🔧 الأدوات المستخدمة:
Firefox(مع إضافة FoxyProxy)DirbCurlBurp Suite(مكون Proxy و Repeater)echo(لإنشاء ملفات)wc -m(لعد الحروف)
📜 خطوات التنفيذ:
✨ تعداد الأدلة باستخدام Dirb (لجمع معلومات أولية):
الأمر الأساسي لـ Dirb:
dirb [Target URL] [Wordlist Path]لو نفذت الأمر
dirb https://target-1، فسيبدأ Dirb في البحث عن المجلدات والملفات المخفية.لو ظهرت مجلدات مثل
css,js,images,uploads, فهذه مجلدات مثيرة للاهتمام يجب فحصها.
✨ تعداد أفعال HTTP باستخدام Curl:
الأمر الأساسي لـ Curl:
curl -X [Method] [Options] [Target URL]أهم الخيارات (Flags):
-X(كبير): لتحديد فعل HTTP (مثلGET,HEAD,OPTIONS,POST,PUT,DELETE).-i(كبير): لعرض رؤوس الاستجابة فقط (Headers) (يعادلHEADفي بعض الحالات).-v(صغير): لعرض تفاصيل الإرسال والاستقبال (Verbose).-d(صغير): لإرسال بياناتPOST.--upload-file: لرفع ملف.
تحديد الأفعال المسموح بها للصفحة الرئيسية:
لو نفذت الأمر
curl -X OPTIONS -v https://target-1، فسيظهر لك الأفعال المسموح بها للصفحة الرئيسية.🔑 المعلومة الذهبية: استخدام
OPTIONSمعcurl -vهو أفضل طريقة لمعرفة الأفعال المسموح بها لأي مورد.
لو ظهر
Allow: GET, HEAD, OPTIONS، فهذا يعني أن هذه الأفعال فقط هي المسموح بها.
اختبار أفعال غير مسموح بها (POST, PUT):
لو نفذت
curl -X POST https://target-1، فسيظهر لك خطأ405 Method Not Allowed.لو نفذت
curl -X PUT https://target-1، فسيظهر لك خطأ405 Method Not Allowed.
تسجيل الدخول باستخدام POST (صفحة
login.php):لو نفذت الأمر التالي لتسجيل الدخول إلى صفحة
login.php، فسيرسل بياناتPOSTويُظهر استجابة تشير إلى إعادة التوجيه302 Found(دليل على نجاح تسجيل الدخول):curl -X POST -d "name=john&password=password" https://target-1/login.php💡 معلومة ذهبية: رمز الحالة
302 Foundبعد محاولة تسجيل الدخول يشير عادةً إلى نجاح المصادقة وإعادة توجيه المستخدم.
تحديد الأفعال المسموح بها لمجلد
uploads:لو نفذت
curl -X OPTIONS -v https://target-1/uploads/(لا تنسى/في نهاية المجلد)، فسيظهر لك أن هذا المجلد يسمح بـGET, HEAD, POST, DELETE, TRACE.🔑 السماح بـ
PUTأوDELETEفي مجلدات مثلuploadsهو ثغرة أمنية خطيرة.
✨ رفع وحذف الملفات باستخدام Curl (استغلال ثغرة
uploads):إنشاء ملف نصي (مثلاً
hello.txt):لو نفذت
echo "Hello Ahmad" > hello.txt، فسيتم إنشاء ملفhello.txtيحتوي على النص المحدد.
رفع الملف باستخدام PUT:
لو نفذت الأمر
curl --upload-file hello.txt https://target-1/uploads/hello.txt، فسيتم رفع الملف إلى مجلدuploads.💡 معلومة ذهبية:
uploads/هي نقطة حساسة.
لو راجعت مجلد
uploadsفي المتصفح (https://target-1/uploads/)، فسيظهر لك ملفhello.txt، مما يؤكد نجاح الرفع.
حذف الملف باستخدام DELETE:
لو نفذت
curl -X DELETE https://target-1/uploads/hello.txt، فسيتم حذف الملف.لو راجعت مجلد
uploadsفي المتصفح، فسيظهر أنه فارغ، مما يؤكد نجاح الحذف.
✨ تعداد أفعال HTTP باستخدام Burp Suite Repeater:
تكوين Burp Suite:
لو قمت بتشغيل Burp Suite.
لو ضبطت متصفح Firefox لاستخدام Burp Suite كبروكسي (عبر FoxyProxy، الإرسال إلى
127.0.0.1:8080).لو تأكدت أن
Intercept is ONفي تبويب Proxy بـ Burp Suite، ثم أعدت تحميل الصفحة الرئيسية (https://target-1)، فسيعترض Burp Suite الطلب.
إرسال الطلبات إلى Repeater:
لو أرسلت الطلب المعترض (GET) إلى
Repeater(عبر النقر بزر الفأرة الأيمن ->Send to Repeater).لو انتقلت إلى تبويب
Repeater.
تغيير أفعال HTTP في Repeater:
لو غيرت فعل
GETإلىHEADفي طلب Repeater ثم ضغطتSend، فسيظهر لك رؤوس الاستجابة فقط.لو غيرت فعل
HEADإلىOPTIONSثم ضغطتSend، فسيظهر لك الأفعال المسموح بها للصفحة الرئيسية (GET, HEAD, OPTIONS).لو حاولت إرسال
POST، فسيظهر لك405 Method Not Allowed.
اختبار رفع الملفات (PUT) في Repeater (لم ينجح في اللاب):
لو حاولت إرسال طلب
PUTلرفع ملف إلى مجلدuploadsعبر Repeater، فسيظهر لك خطأ501 Not Implementedأو405 Method Not Allowed، مما يشير إلى أن الخادم لا يدعمPUTمن هذه الواجهة. (هذا يوضح أن نتائج الأدوات قد تختلف، وأن بعض الثغرات قد تكون موجودة يدوياً ولكن الأدوات قد لا تستطيع استغلالها بسهولة، أو تحتاج لتكوين إضافي).
✅ نقاط التحقق:
لو تمكنت من تحديد الأفعال المسموح بها للصفحات والمجلدات المختلفة باستخدام Curl و Burp Suite.
لو نجحت في رفع وحذف ملف
hello.txtباستخدام Curl، فهذا يؤكد ثغرة الرفع/الحذف.لو أظهر Burp Suite استجابات
405 Method Not Allowedللأفعال غير المسموح بها، فهذا يؤكد فهمك لسلوك الخادم.
Last updated