ثغرة تخطي open_basedir في PHP 5.3.0 و PHP 5.2.11
اكتشتف ثغرة جديدة في الاصدار 5.3.0 و 5.2.11 من PHP تمكّن المهاجم من تخطي حماية open_basedir لقراءة ملفات مهمّة أو ملفات خاصّة بمستخدمين آخرين موجودة على نفس السيرفر. سبب الثغرة يصنّف على أنه Design Error بنموذج الحماية المتبع في لغة PHP.
في لغة PHP نستخدم الدالة symlink لصناعة اختصار لملفات موجودة مسبقاً على نفس السيرفر, يتم تزويد الدالة بمسار الملف المراد عمل اختصار له وباسم الاختصار الذي نريده بهذا الشكل:
symlink(“/etc/passwd”, “mypasswd”);
خاصيّة open_basedir ستتأكد من امكانية قراءة الملف (حسب اعدادات PHP) قبل انشاء الاختصار, لكن لوجود خطأ يصنّف على أنه Design Error يمكن للمهاجم أن يتلاعب بسمار الملفات ويجعل open_basedir يظن أن الملف الذي يحاول عمل اختصار له موجود ضمن المسار المسموح له بقرائته.
حتى تاريخ كتابة هذا الخبر لانعلم بوجود أي ترقيع لهذه الثغرة, وشخصيّاً أرى أن الاستغلال ذكي نوعا ما ويمكن الاطلاع عليه من الرابط الموجود بالأسفل.
لمزيد من المعلومات: SecurityReason-6744
وفي ثغرة اخطر موجوده بهذه الاصدارت
php 4.x.x
php 5.x.x
PHP 6.0.0-dev
ولحد الان تعتبر برايفت في المنتديات التركية للهكر
والسليمينك منتشره بكثره
مشكووووووووور … هل من طريقه للترقيع
آأو انتظار تحديث ؟
لكن يا ليت يا عبد الرحمن تكتب آأحد من الكمنتديات التركية الي قلت عنها
السلام عليكم
تذكرني هذه الثغرة بثغرة موجودة في مخدم الويب iis، والذي يمكنك من التنقل من مجلد/فهرس الى اخر، ومن تنفيذ أوامر أيضاً، وذلك بتمريرها إلى cmd.exe الذي يعرف الجميع مكانه، ولكن في تلك الثغرة تضطر إلى أن ترمّز /../ بترميز Unicode حتى يتخطى فحص الصحة الذي يقوم به الخادم، أما في هذه الثّغرة، فلا تحتاج إلى عمل شيء، فهي مفتوحة على مصراعيها !!
الفرق الوحيد، أن ثغرة iis تلك تستطيع تنفيذها مباشرة، وبدون أي مقدمات، أما هذه، فعليك رفع ملف استغلال لتنفيذها!
وشكرا لصاحب الموضوع !!
سلام