
تقرير تفصيلي لاختبار الاختراق يوضح اجتياز المسار غير المصادق عليه (CVE-2019-11447) في إضافة WordPress Simple Backup، بما في ذلك خطوات الاستغلال وتحليل الأثر وإرشادات المعالجة.
| العنصر | التفاصيل |
|---|---|
| عنوان المستند | تقرير اختبار الاختراق - اجتياز المسار في WordPress |
| العميل/الاختبار | مختبر HackTheBox - تمرين CPTS 1 |
| التاريخ | 22 أغسطس 2026 |
| المُقيِّم | Fernando Viana (مختبر اختراق) |
| نوع التقييم | الصندوق الرمادي (خارجي، بدون بيانات اعتماد) |
| بيئة المختبر | 154.57.164.73:30706 |
| مدة المختبر | ساعة واحدة |
| الأهداف | تحديد واستغلال الثغرات لاسترداد الملفات المقيّدة |
| الراية التي تم الحصول عليها | HTB{my_f1r57_h4ck} |
خلال تقييم الاختراق هذا لتطبيق الويب المستضاف على 154.57.164.73:30706، تم تحديد ثغرة حرجة تسمح للمهاجمين غير المصادق عليهم بتنزيل وقراءة ملفات عشوائية من نظام ملفات الخادم.
يحتوي تثبيت WordPress المصاب على إضافة قديمة (Simple Backup v2.7.10) بها ثغرة اجتياز المسار (CVE-2019-11447) تسمح بالوصول غير المصرح به إلى الملفات دون الحاجة إلى مصادقة أو تفويض.
تم استغلال هذه الثغرة بنجاح لاسترداد ملف /flag.txt من جذر الخادم، مما يؤكد اختراقًا كاملًا للسرية. يمكن للمهاجم الذي يمتلك هذا الوصول أن:
wp-config.php، .env)مطلوب إجراء عاجل لمعالجة هذه الثغرة فورًا، لأنها تشكل خطرًا بالغًا على أمن البيانات والامتثال للخصوصية (GDPR، HIPAA، PCI-DSS) وسلامة النظام.
| الخطورة | العدد | التأثير على الأعمال |
|---|---|---|
| 🔴 حرجة | 1 | اختراق كامل للسرية؛ وصول غير مصرح به إلى الملفات |
| 🟠 عالية | 0 | — |
| 🟡 متوسطة | 0 | — |
| 🟢 منخفضة | 0 | — |
| ℹ️ معلوماتية | 1 | تم اكتشاف إصدارات برامج قديمة |
نوع التقييم: الصندوق الرمادي (مهاجم خارجي، لم يتم تقديم بيانات اعتماد، الوصول إلى الشبكة متاح)
تواريخ التقييم: 22 أغسطس 2026
نهج الاختبار: تقييم منهجي غير تجنّبي يتبع إطار اختبار الاختراق المعياري في الصناعة (PTES):
CVE-2019-11447 | CWE-22: التقييد غير السليم لاسم المسار إلى دليل مقيّد
تحتوي إضافة WordPress Simple Backup (الإصدار 2.7.10/2.7.11، Exploit-DB 39883) على ثغرة اجتياز المسار في صفحة "مدير النسخ الاحتياطي" الإدارية. تفشل الإضافة في تعقيم مسار الملف المقدم عبر معامل GET download_backup_file، مما يسمح للمهاجم بالخروج خارج الدليل المقصود simple-backup/ باستخدام تسلسلات المسار النسبي (../) وتنزيل أي ملف يمكن لعملية خادم الويب قراءته — بما في ذلك الملفات الموجودة في جذر نظام الملفات.
نقطة النهاية المصابة:
GET /wp-admin/tools.php?page=backup_manager&download_backup_file=../../../../../../../../../../flag.txt
page=backup_manager يوجّه الطلب إلى معالج صفحة الإدارة الخاص بالإضافة؛ وdownload_backup_file هو المعامل الذي يقرأه كود الإضافة مباشرةً ويدمجه في مسار نظام الملفات دون التحقق منه، مما يسمح باجتياز الدلائل.
7.5 - HIGH (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
اختراق السرية: ⚠️ حرج
يمكن للمهاجمين قراءة أي ملف يمكن لخادم الويب الوصول إليه، بما في ذلك:
| الملف | الأثر | مستوى الخطر |
|---|---|---|
/wp-config.php | بيانات اعتماد قاعدة البيانات، والملح، والمفاتيح | 🔴 حرج |
/.env | مفاتيح API، والأسرار، والإعدادات | 🔴 حرج |
/etc/passwd | تعداد المستخدمين، ورسم خريطة النظام | 🟠 عالٍ |
مفاتيح SSH (.ssh/id_rsa) | الحركة الجانبية، والوصول إلى النظام | 🔴 حرج |
/proc/self/environ | أسرار التطبيق قيد التشغيل | 🟠 عالٍ |
| دليل تحميلات المستخدم | ملفات خاصة، ووسائط | 🟠 عالٍ |
الأثر التنظيمي:
يوثّق استشارة Exploit-DB (39883.txt، تُقرأ عبر searchsploit -x — انظر ht4-poc.png) البدائية delete الخاصة بالإضافة من simple-backup-manager.php:
if(array_key_exists('delete_backup_file', $_GET)){
$this->delete_local_backup_file($_GET['delete_backup_file']);
}
$bk_dir = ABSPATH."simple-backup/";
unlink($bk_dir . $filename);
$filename يأتي مباشرةً من $_GET['delete_backup_file'] دون أي basename() أو فحص لاحتواء المسار. تمرير ../pizza.txt يجعل $bk_dir . $filename يُحلّ إلى .../simple-backup/../pizza.txt → .../pizza.txt، فيتجاوز مجلد النسخ الاحتياطي المقصود.
إن بدائية download التي استُغلت فعليًا في هذه المهمة (download_backup_file) تتبع النمط نفسه تمامًا من الدمج غير المُعقَّم في الإضافة ذاتها، لكنها تُعيد الملف إلى الطالب بدلًا من حذفه — وهو ما أتاح استرجاع /flag.txt من جذر نظام الملفات (10× ../ من ABSPATH/simple-backup/).
المشكلة:
basename() لإزالة مكوّنات الدليلrealpath() داخل ABSPATH."simple-backup/"current_user_can() / مصادقة قبل تقديم الملف — إذ يعمل المعالج عند تحميل الإضافة، قبل بوابة مصادقة wp-admin الخاصة بـ WordPress، لذا يمكن الوصول إليه دون تسجيل الدخولتم الاتصال بالهدف مباشرةً عبر المتصفح (http://154.57.164.73:30706/). تثبيت WordPress يحمل العنوان "GETTING STARTED"، ويكشف منشور مدونة عام على الصفحة الرئيسية عن اسم الإضافة وإصدارها بدقة في نص صريح: "Simple Backup Plugin 2.7.10 for WordPress" — لم تكن هناك حاجة إلى أي أدوات استقصاء لبصم المكوّن المعرّض للثغرة.

whatweb http://154.57.164.73:30706/
النتيجة: تم تأكيد Apache/2.4.41 (Ubuntu Linux) وWordPress 5.6.1 عبر MetaGenerator وتوقيعات إضافة WordPress.

searchsploit simple backup wordpress
النتيجة:
Exploit Title | Path
------------------------------------------------------------------------------
WordPress Plugin Simple Backup 2.7.11 - Multiple Vulnerabilities | php/webapps/39883.txt

قراءة الاستشارة الأمنية الكاملة لفهم المعاملات القابلة للاستغلال ومسار الشيفرة بدقة:
searchsploit -x php/webapps/39883.txt