الـ Web Server هو نظام حاسوبي يُخزِّن ويُعالج ويُسلِّم صفحات الويب للعملاء حول العالم عبر بروتوكول HTTP. العميل يبدأ عملية الاتصال بطلبات HTTP: لما يحتاج مصدرًا زي صفحة ويب أو صورة أو فيديو، متصفحه يولِّد طلب HTTP يُرسَل للسيرفر. السيرفر بناءً على الطلب يجمع المحتوى المطلوب من مساحة التخزين أو من Application Servers ويرد على العميل باستجابة HTTP مناسبة.
| المكوّن | الوصف |
|---|---|
| Document Root | أحد المجلدات الجذرية اللي بتخزّن ملفات HTML الحرجة الخاصة بصفحات الدومين، واللي هتُرسَل ردًا على الطلبات. مثال: لو الطلب www.certifiedhacker.com والـ Document Root اسمه certroot ومخزّن في /admin/web، فعنوان المجلد هو /admin/web/certroot. ولو الطلب الكامل www.certifiedhacker.com/P-folio/index.html هيدوّر السيرفر على /admin/web/certroot/P-folio/index.html |
| Server Root | المجلد الأعلى في شجرة الدليل، وفيه ملفات إعدادات السيرفر وملفات الـ Log والملفات التنفيذية. وبيحتوي عادةً على: conf (ملفات الإعدادات)، logs (ملفات Access وError Logs)، cgi-bin (سكربتات CGI أو ملفات تنفيذية من جهة السيرفر) |
| Virtual Document Tree | يوفّر تخزينًا على جهاز أو قرص مختلف بعد امتلاء القرص الأصلي. حسّاس لحالة الأحرف (Case-Sensitive) ويُستخدم لتوفير حماية على مستوى الـ Object. في نفس مثال Document Root، لو المجلد admin/web/certroot مخزّن على قرص تاني، هيدوّر السيرفر على نفس المسار في القرص الجديد |
| Virtual Hosting | تقنية استضافة عدة دومينات أو مواقع على نفس السيرفر، بتسمح بمشاركة الموارد بين سيرفرات متعدّدة، وبتُستخدم في الشركات الكبيرة. أنواعها: Name-based، IP-based، Port-based |
| Web Proxy | سيرفر بروكسي يقف بين العميل والسيرفر؛ كل الطلبات بتمرّ من خلاله. يُستخدم لمنع حظر IP والحفاظ على عدم الكشف عن الهوية (Anonymity) |
هجمات مستوى الشبكة ونظام التشغيل ممكن تُصدّ بإجراءات أمان مناسبة زي الـ Firewalls وIDS. لكن الـ Web Servers ممكن يوصلها أي حد عبر الإنترنت من أي مكان، وده بيخلّيها معرَّضة جدًا للهجمات.
Apache سيرفر HTTP مفتوح المصدر يُستخدم لتوصيل محتوى الويب عبر الإنترنت. يقدر يستضيف مواقع ويتعامل مع طلبات HTTP ويقدّم محتوى ثابت وديناميكي. يتميّز بأداء عالٍ وميزات أمان وتخصيص واسع عبر الـ Modules ومجتمع دعم كبير.
| الثغرة | الشرح |
|---|---|
| HTTP Response Splitting | تحدث لما إدخال غير مُتحقَّق منه يسمح للمهاجم بحقن Headers خبيثة في استجابات HTTP. ممكن تؤدّي لـ XSS أو Cache Poisoning أو كشف معلومات حسّاسة |
| HTTP/2 DoS — Endless Continuation Frames | المهاجم يرسل Headers متتالية عبر HTTP/2 تستهلك الذاكرة وتؤدّي لـ DoS، فالسيرفر يصبح غير مستجيب أو يتوقف |
| mod_macro Buffer Over-Read | سوء تعامل الموديول مع توسيع الـ Macro يخلّيه يقرأ بعد نهاية الـ Buffer. يُستغَل بطلبات مصمَّمة خصيصًا تكشف معلومات من مناطق ذاكرة مجاورة |
| Improper Authorization | فحوصات تصريح خاطئة تسمح بوصول غير مصرّح أو تصعيد صلاحيات لتنفيذ أفعال مقيَّدة |
| DNS Rebinding (Apache Allura — Import) | تحقّق إدخال غير كافٍ في وظيفة الاستيراد يسمح بالتلاعب باستجابات DNS والوصول لخدمات داخلية |
| Code Injection (Apache Zeppelin — JDBC/MySQL) | عند الاتصال بقاعدة بيانات MySQL عبر JDBC، يقدر المهاجم يحقن كودًا خبيثًا أثناء إعداد الاتصال يؤدّي لتنفيذ كود عن بُعد |
| Improper Certificate Validation (Apache Airflow — FTP_TLS) | تحقّق شهادات غير صحيح في اتصالات FTP_TLS يسمح باعتراض أو التلاعب بحركة FTP (MITM) |
| XSS (Apache Airflow — Logs) | تعامل خاطئ مع الإدخال يسمح بحقن سكربتات خبيثة في سجلات الـ Task Instance |
| Path Traversal (Apache OFBiz) | تقييد غير كافٍ لمسار الملف يسمح بالوصول لملفات ومجلدات خارج المجلد المقصود، وقد يؤدّي لتنفيذ كود عشوائي |
| SQL Injection (Apache Submarine Server Core) | تحييد غير صحيح لعناصر SQL يسمح بتنفيذ استعلامات عشوائية — وصول غير مصرّح، استخراج بيانات، أو تعديل قاعدة البيانات |
IIS (Internet Information Services) تطبيق Web Server من Microsoft بيشتغل على سيرفر ويرد على طلبات المتصفح. نسخة Windows Server منه مرنة وسهلة الإدارة لاستضافة الويب.
| الثغرة | الشرح |
|---|---|
| Trust Boundary Violation (Telerik Report Server) | فصل غير كافٍ لحدود الصلاحيات يسمح لكيان غير موثَّق بالوصول لوظائف مقيَّدة — وقد يؤدّي للتلاعب بعمليات السيرفر |
| Authentication Bypass | مشاكل في تنفيذ عملية الـ Authentication تخلّي نقطة نهاية غير آمنة تسمح بوصول غير مُصادَق لوظائف مقيَّدة |
| CRLF Cross-Site Scripting (SiteMinder Web Agent for IIS) | إعدادات خاطئة تسمح للمهاجم بتجاوز الـ Authentication وتنفيذ كود JavaScript عشوائي في متصفح العميل |
| Arbitrary File Path Access (Aquaforest TIFF Server) | الإعدادات الافتراضية تقيّد الوصول لمسارات الملفات بشكل غير صحيح — يسمح بالوصول أو التعداد أو التجوّل بين الملفات وتجاوز الـ Authentication |
| Elevation of Privilege (Windows IIS) | تعامل خاطئ مع طلبات مستخدم معيّنة يؤدّي لتصعيد صلاحيات |
| File and Directory Permissions (Hitachi JP1/PM for Windows) | صلاحيات افتراضية غير صحيحة تسمح بالتحكّم في النظام والتلاعب بالملفات والمجلدات بدون تصريح |
Nginx سيرفر عالي الأداء وقابل للتوسّع، يعمل كـ Reverse Proxy وLoad Balancer على بنية Master-Worker: عملية Master تشرف على عدة عمليات Worker مسؤولة عن معالجة طلبات العملاء، وكل Worker بيستخدم I/O غير حاجز (Non-Blocking) لإدارة اتصالات متعددة في Loop واحد. يدعم كمان Load Balancing متقدّم وCaching قوي وإنهاء SSL/TLS وLogging تفصيلي.
| الثغرة | الشرح |
|---|---|
| NULL Pointer Dereference (HTTP/3) | يحدث بسبب NULL Pointer Dereference في موديول QUIC عند معالجة طلبات HTTP/3، ما يؤدّي لإنهاء عمليات الـ Worker. طلبات مصمَّمة خصيصًا تسبّب DoS أو حتى تنفيذ كود عن بُعد |
| SSRF (mintplex-labs/anything-llm — Upload Link) | المهاجم يستضيف موقعًا خبيثًا وينفّذ Port Scanning داخلي، يصل لتطبيقات ويب غير عامة، وينفّذ حذف ملفات عشوائي وLocal File Inclusion |
| Improper Certificate Validation (Nginx-UI — Import Certificate) | تحقّق إدخال غير صحيح يسمح بالكتابة العشوائية على ملفات |
| SQL Injection | تحييد غير صحيح لعناصر SQL يسمح بتمرير معاملات غير معقَّمة للاستعلامات — وصول غير مصرّح أو تسريب بيانات |
| Unauthenticated Private Keys Access | الاعتماد على .htaccess للحماية يفشل على سيرفرات Nginx اللي ما بتدعمهوش — يسمح بقراءة المفاتيح الخاصة |
| Excessive Memory/CPU — HTTP/2 | تعامل خاطئ مع الذاكرة واستهلاك CPU مفرط عند إغراق السيرفر بطلبات HTTP/2 |
| OS Command Injection (nginxWebUI — Upload) | تعامل خاطئ مع معاملات الملف في ميزة الرفع يسمح بحقن وتنفيذ أوامر نظام تشغيل عن بُعد |
| Default File Permissions (Nginx Management Suite) | صلاحيات افتراضية تسمح بتعديل ملفات حساسة في Nginx Instance Manager وNginx API Connectivity Manager |
المهاجم يخترق سيرفر DNS ويغيّر إعداداته بحيث كل الطلبات المتوجّهة للـ Web Server الهدف تُعاد توجيهها لسيرفره الخبيث.
الـ Recursive DNS Query طريقة لطلب تحويل DNS: الاستعلام يمرّ عبر سيرفرات DNS بشكل تكراري (Recursive) لحد ما يفشل في إيجاد تحويل اسم الدومين لعنوان IP.
المهاجم يستخدم تسلسل ../ (Dot-Dot-Slash) للوصول لمجلدات مقيَّدة خارج Root الخاص بالسيرفر، باستخدام أسلوب المحاولة والخطأ للوصول لمعلومات حسّاسة في النظام.
تغييرات غير مصرَّح بها على محتوى صفحة واحدة أو الموقع كله، تؤدّي لتغيير المظهر البصري. المهاجمون بيحقنون كودًا لإضافة صور أو Popups أو نصوص، وفي بعض الحالات بيستبدلوا الموقع كله بدل صفحة واحدة.
نقاط ضعف في إعدادات بنية الويب تُستغَل لتنفيذ هجمات زي Directory Traversal واختراق السيرفر وسرقة البيانات. من أمثلتها: رسائل Debug/Error مُفصَّلة، مستخدمون Anonymous أو Default بكلمات مرور افتراضية، خدمات غير ضرورية مفعَّلة.
المهاجم يضيف بيانات استجابة Header في حقل الإدخال بحيث يقسّم السيرفر الاستجابة لاستجابتين، مستغلًا سيرفر Apache ضعيف التحقّق من الإدخال بحقن Request Header مصمَّم خصيصًا يستخرج ردّين. المهاجم يتحكّم في الردّ الأول لتحويل المستخدم لموقع خبيث، أما الردود الأخرى فيتجاهلها المتصفح.
يستهدف موثوقية مصدر الـ Web Cache الوسيط: المهاجم يستبدل المحتوى المخزَّن لرابط معيّن بمحتوى مصاب. مستخدمو الـ Cache بيستخدموا المحتوى المسمَّم بدون علمهم بدل المحتوى الحقيقي والآمن.
بروتوكولات SSH تُنشئ نفقًا مشفَّرًا بين مضيفَين لنقل بيانات غير مشفَّرة عبر شبكة غير آمنة. المهاجم يقدر يعمل Brute Force لبيانات دخول SSH للوصول غير المصرّح للنفق، واللي بيُستخدم بعدين لنقل Malware واستغلالات تانية للضحايا من غير ما يتكشف.
المهاجم ممكن يستغل أدوات AI التوليدية زي ChatGPT لتنفيذ هذه المهمة باستخدام Prompt مناسب.
استغلال آلية تعامل HTTP/2 مع إطارات CONTINUATION: المهاجم يرسل عددًا كبيرًا منها عبر اتصال TCP واحد، ما يُثقل موارد سيرفر Apache ويسبّب حالة Denial-of-Service.
المهاجم يحقن أو يتلاعب بمكوّنات الواجهة الأمامية لتطبيق ويب عشان يخطف واجهة المستخدم أو تفاعلاته. يستهدف سيرفرات Nginx Reverse Proxy سيئة الإعداد في بيئات الاستضافة المشتركة، جامعًا بين CRLF Injection وHTTP Request Header Injection وXSS. المهاجم يحقن Host Header جديد لخطف تدفّق تنفيذ الـ Reverse Proxy واستبدال السيرفر الخلفي بسيرفر يتحكّم فيه هو.
منهجية الهجوم على الـ Web Server بتتكوّن من 6 خطوات أساسية:
كل مهاجم بيحاول يجمع أكبر قدر من المعلومات عن السيرفر الهدف، ثم يحلّلها للبحث عن ثغرات في آليات الأمان الحالية.
جمع معلومات عن الجوانب الأمنية للسيرفر بأدوات أو تقنيات Footprinting، لتحديد قدرات الوصول عن بُعد والبورتات والخدمات وجوانب أمان أخرى.
نسخ الموقع ومحتواه على سيرفر آخر للتصفح دون اتصال (Offline)، بحيث يقدر المهاجم يشوف البنية التفصيلية للموقع.
إيجاد الثغرات والإعدادات الخاطئة بمساعدة أدوات آلية تُسمّى Vulnerability Scanners.
بعد تحديد جلسة العميل الحالية، المهاجم يستولي عليها بالكامل بتقنيات خطف الجلسات.
استخدام أساليب كسر كلمات المرور زي Brute-Force وHybrid وDictionary Attacks لكسر كلمة مرور السيرفر.
ملف robots.txt يحتوي قائمة مجلدات وملفات السيرفر اللي صاحب الموقع عايز يخفيها عن Web Crawlers. المهاجم يقدر ببساطة يطلب الملف من الـ URL ويستخرج معلومات حسّاسة زي بنية المجلد الجذري ومعلومات نظام إدارة المحتوى، وممكن كمان يحمّله بأداة Wget.
| الأداة | الوصف |
|---|---|
| netcat | جمع بيانات على مستوى النظام زي تفاصيل الحسابات، نظام التشغيل، إصدارات البرمجيات، أسماء السيرفرات، وتفاصيل مخطّط قاعدة البيانات (netcat.sourceforge.net) |
| httprecon | أداة لبصمة Web Server متقدّمة — تنفّذ Banner Grabbing وتعداد أكواد الحالة وتحليل ترتيب الـ Headers، وتوفّر معلومات بصمة دقيقة (computec.ch) |
| Shodan | يُستخدم لجمع معلومات عن سيرفرات IIS وتحسين القدرة على تنفيذ هجمات مستهدَفة وفعّالة |
المهاجمون يستغلّون موديول mod_userdir في Apache لتعداد حسابات المستخدمين بروابط زي /~username/. باستخدام Nmap، يقدر المهاجم يحدّد أسماء مستخدمين صالحة تساعد في الـ Brute Forcing أو هجمات التصيّد المستهدَفة.
# فحص أولي لتعداد المستخدمين الصالحين بقائمة كلمات افتراضية
nmap -p80 --script http-userdir-enum <target>
# فحص مخصَّص — ياخد ملف .txt كمصدر لأسماء المستخدمين ويختبره ضد الهدف
nmap -p80 --script http-userdir-enum --script-args userdir.users=<Wordlist.txt> <target>
# تجاوز الكشف بتغيير الـ User Agent
nmap -p80 --script http-brute --script-args http.useragent="<User_Agent>" <target>
لما السيرفر يستقبل طلبًا لمجلد، بيرد بإحدى الطرق التالية:
قوائم المجلدات أحيانًا بتحمل ثغرات زي صلاحيات وصول غير صحيحة ووصول غير مقصود لـ Web Root السيرفر. المهاجمون يستخدمون أدوات زي Dirhunt للبحث وتحليل المجلدات، وبعد اكتشاف مجلد يطلبوه ويحاولوا يوصلوا لقوائمه، أو يستغلّوا برمجيات سيرفر ضعيفة بتسمح بالوصول لقوائم المجلدات.
المهاجمون يقدروا يستخدموا تقنيات AI لتحسين وأتمتة الهجوم، وينفّذوا هجمات Directory Traversal على الدومين الهدف بسهولة أكبر.
Nginxpwner أداة بلغة Python مصمَّمة لاكتشاف الإعدادات الخاطئة والثغرات الشائعة في سيرفرات Nginx القابلة للاستغلال.
# إنشاء ملف مؤقّت لتخزين قائمة مسارات URL محتملة
nano /tmp/pathlist
# تشغيل سكربت nginxpwner
python3 nginxpwner.py <target_URL> /tmp/pathlist
بعد التشغيل، المهاجم يحلّل المخرجات لتحديد الثغرات والإعدادات الخاطئة المحتملة في سيرفر Nginx الهدف.
التوجّه لموقع exploit-db.com.
استخدام شريط البحث بكلمات تخص السيرفر الهدف مثل "Apache" أو "IIS" أو "nginx".
تضييق نتائج البحث بالفلاتر المتاحة.
تحديد الثغرات ذات الصلة من النتائج.
الاطّلاع على كود الاستغلال والوصف والمراجع.
مطابقة الثغرات المكتشفة مع إصدارات وإعدادات السيرفر الهدف للتأكد من الانطباق.
تحميل كود الاستغلال إن كان مناسبًا واختباره على السيرفر الهدف.
استخدام تقنيات كسر كلمات المرور زي Brute Force وDictionary Attack وPassword Guessing، بأدوات مثل Hashcat وTHC Hydra وNcrack.
بعض السيرفرات مُعدَّة لتنفيذ وظائف Forwarding أو Reverse HTTP Proxy. المهاجمون يستغلّون هذه الوظائف لتنفيذ:
المهاجمون يستخدمون طلبات GET وCONNECT لاستخدام السيرفرات الضعيفة كـ Proxy للاتصال بالأنظمة الهدف والحصول على معلومات منها.
المهاجم يستغل إعدادًا خاطئًا في ملف nginx.conf يخص استخدام التوجيه alias:
location /i {
alias /data/w3/images/;
}
غياب الـ Trailing Slash بيسمح للمهاجم بالتلاعب في الـ URL للوصول لمجلدات وملفات خارج الـ Webroot المحدَّد.
نظام كشف تغييرات الموقع (Website Change Detection System) بيعتمد على:
يكتشف أي تغييرات في ملف تنفيذي موجود أو ملف جديد على السيرفر.
مقارنة Hash Values لملفات السيرفر بالقيمة الأساسية (Master Hash) المرجعية لكشف أي تغيير في الكود.
إرسال تنبيه فوري للمستخدم عند اكتشاف أي تغيير على السيرفر.
أداة DirectoryMonitor تفحص كل مجلدات الويب تلقائيًا وتكتشف أي تغييرات في الكود وتنبّه المستخدم بإيميل عند اكتشافها.
| الهجوم | الهدف | الأثر الرئيسي |
|---|---|---|
| DNS Server Hijacking | سيرفر DNS | إعادة توجيه الطلبات لسيرفر المهاجم |
| DNS Amplification | سيرفرات DNS | تضخيم الحركة عبر استعلامات Recursive |
| Directory Traversal | بنية الملفات | الوصول لملفات خارج Web Root عبر ../ |
| Website Defacement | محتوى الموقع | تغيير المظهر البصري أو استبدال الموقع |
| Web Server Misconfiguration | إعدادات السيرفر | ثغرة مدخل لهجمات أخرى (Traversal، Intrusion) |
| HTTP Response Splitting | Request Headers | تقسيم الاستجابة لاستجابتين وإعادة توجيه خبيثة |
| Web Cache Poisoning | الـ Cache الوسيط | تقديم محتوى مسمَّم للمستخدمين |
| SSH Brute Force | بيانات دخول SSH | وصول غير مصرّح لنفق SSH |
| HTTP/2 Continuation Flood | إطارات CONTINUATION | استنزاف موارد السيرفر — DoS |
| FrontJacking | Reverse Proxy (Nginx) | خطف واجهة المستخدم عبر CRLF/Header Injection/XSS |
| الفئة | أدوات بارزة |
|---|---|
| Banner Grabbing / Footprinting | netcat، httprecon، Shodan |
| Directory Brute Forcing | Dirhunt |
| Vulnerability Scanning | Acunetix Web Vulnerability Scanner، Fortify WebInspect، Nginxpwner |
| Password Cracking | Hashcat، THC Hydra، Ncrack |
| Web App Security Scanners | Burp Suite، Wapiti، Skipfish، Detectify، OWASP ZAP، SonarQube، Arachni |
| Patch Management | SolarWinds Patch Manager، Kaseya Patch Management، Ivanti Patch for Endpoint Manager |
| Pen Testing | Cobalt Strike، Fuxploider، Mitmproxy |
| Malware Infection Monitoring | Sucuri SiteCheck، SiteLock، Quttera، SiteGuarding |
الموديول ده ناقش بالتفصيل المفاهيم العامة لسيرفرات الويب، وأنواع التهديدات والهجمات المختلفة عليها، ومنهجية هجوم الـ Web Server (جمع المعلومات، الـ Footprinting، فحص الثغرات، كسر كلمات المرور)، وأدوات اختراق السيرفرات المتنوّعة. كذلك تطرّق للإجراءات المضادة اللي يقدر المدافعون يستخدموها لمنع محاولات الاختراق، واختتم بمناقشة تفصيلية لكيفية تأمين السيرفرات باستخدام أدوات حماية مختلفة.
السيرفر اللي مكشوف للعالم كله هو أول نقطة هجوم غالبًا، مش آخرها. من robots.txt لحد Directory Listing، كل تفصيلة صغيرة في الإعداد بتبني صورة للمهاجم عن بنية النظام قبل ما يوصل لأي ثغرة فعلية.
أسئلة هذا الموديول غالبًا تُركِّز على: الفرق بين Document Root وServer Root وVirtual Document Tree، أنواع الـ Virtual Hosting، ترتيب خطوات منهجية هجوم الـ Web Server الستة، الفرق بين Directory Traversal وDirectory Brute Forcing، وآلية HTTP Response Splitting وWeb Cache Poisoning.
نهاية نوتس الموديول الثالث عشر — Hacking Web Servers