صفحة 1 من 6 123456 الأخيرةالأخيرة
النتائج 1 إلى 15 من 90

الموضوع: تلغيم القوالب + تلغيم الإستايلات + ....

  1. #1

    تلغيم القوالب + تلغيم الإستايلات + ....



    السلام عليكم ورحمة الله وبركاته

    في السابق وقبل مده كنت قد طرحت موضوعاً بعنوان :

    أنا لست من مشجعين نسخ vbulletin 3.5 ماذا عنك أنت ؟
    http://www.swalif.net/softs/showthread.php?t=157342

    وكنت أريد أن اوضح في الموضوع السابق أن نظام الـ Plugins أو الـ Hooks الموجود في النسخ الجديده من الـ vbulletin خطير جداً إذا تم إستغلاله من قبل المخترق فقد يستخدمه كباب خلفي ( Back Door ) حتى يعاود الاختراق مره أخرى.

    منذ مده وأنا أحاول جاهداً أن أطرح موضوعاً جديداً للنقاش ووضع الحلول المناسبه لأي خلل أصادفه ولكني خفت أن تستغل المعلومات التي نذكرها ويتضرر منها من لم يقرأ الموضوع ويتنبه لمخاطره، فكلكم يعلم أن أغلب أطفال الانترنت تقتات على ماينشر من استثمارات في أغلب مواقع الانترنت لذا أجلت طرح مثل هذه المواضيع حرصاً مني على عدم العبث بها.

    في هذا الموضوع الجديد سأتطرق لخطوره شاعت منذ مده بسيطه وهي طرق ( تلغيم الإستايلات ) و ( تلغيم القوالب )

    وأقصد بكلمة التلغيم أي إدخال أكواد php يتم تنفيذها داخل القالب أو داخل الإستايل وهذا لن يحدث إلا في حالتين فقط:
    الأولى أن يُخترق المنتدى من قبل أحدهم وبعدها يقوم بوضع أكواده داخل أي قالب يريد ومن ثم يبدأ مسلسل العبث
    الثانيه أن يقوم صاحب المنتدى بتحميل أحد الإستايلات من أشخاص غير معروفين ويتم إدخال قوالب ملغمه من هذا الإستايل في منتداه وطبعاً ستكون النتيجه كالأولى :anger1:

    أسلوب التلغيم هذا ليس قاصراً فقط على برنامج الـ vBulletin فقط!!
    بل يشمل جميع البرمجيات والسكربتات التي تعتمد على نظام القوالب والذي يعمل بواسطة دوال الـ php evaluate مثل دالة eval ودالة assert .
    ومن هذه البرامج مايلي :

    phpBB ( جميع الإصدارات )
    invision power board ( جميع الإصدارات )
    vbulletin ( جميع الإصدارات )

    وغيرها كثير لا يحضرني في الوقت الراهن.

    الحقيقه لم أطرح هذا الموضوع إلا مجبوراً خصوصا بعد إنتشار طريقة إستثمار التلغيم للأسف بين أوساط أطفال الانترنت الذي همهم الأول هو ( كيف نخرب المواقع ) وكما تعلمون يا أخواني أن أفعالهم هذه ليست إلا أفعال يغطون بها نقصاً في أنفسهم وعيباً كبيراً في تربيتهم فلا تشغلوا بالكم عن السؤال لماذا يقومون بهذه الأفعال وحاولوا متابعة الأمور التي تتعلق بأمان مواقعكم ومنتدياتكم.


    كيف تعمل القوالب في هذه البرمجيات ؟
    القالب عباره عن صفحة Html ( في أغلب الأحيان ) يتم تعبئتها بأسماء متغيرات php حتى يتم وضع أي جمله أو نص بدلاً من هذه المتغيرات باستخدام دوال الـ php evaluate التي أشرنا لها سابقاً.

    مثال بسيط على قالب:
    كود HTML:
    <p color="red">بسم الله الرحمن الرحيم</p>
    ( $quran )
    المتغير $quran يحتوي على الآيه الكريمه : ( ومن يتق الله يجعل له مخرجاً * ويرزقه من حيث لا يحتسب ومن يتوكل على الله فهو حسبه إن الله بالغ أمره قد جعل الله لكل شيءٍ قدراً )
    بعد إدخال القالب السابق على أحد دوال الـ php evaluate يصبح القالب بالشكل التالي:

    كود HTML:
    <p color="red">بسم الله الرحمن الرحيم</p>
    ( ومن يتق الله يجعل له مخرجاً * ويرزقه من حيث لا يحتسب ومن يتوكل على الله فهو حسبه إن الله بالغ أمره قد جعل الله لكل شيءٍ قدراً )
    أغلب البرامج التي تعتمد على القوالب طورت هذه الطريقه على أسوب ونمط مختلف فمنها مايقوم بتحميل القالب من قاعدة البيانات ومنها مايقوم بتحميل القالب من ملف يتم تخزينه في مكان محدد داخل الموقع وكل قالب يحمل إسم محدد يتم تعيينه على القالب المراد تحميله ولكن الأساليب تختلف من برنامج الى اخر كلاً حسب طريقته في البرمجه فعلى سبيل المثال منتديات الـ vbulletin بنسخ الجيل الثالث تستدعي القوالب حسب الشكل التالي:
    كود PHP:
    eval('$var = "' fetch_template('template_name') . '";'); 
    تنفيذ هذا السطر البرمجي يتم على مرحتلين
    المرحله الأولى
    دالة fetch_template تقوم بإستدعاء القالب المسمى template_name وتضع محتواه بين علامتي التنصيص " " ليصبح السطر حسب الشكل التالي:
    كود PHP:
    eval('$var = "  xxxxxxxxxxxxx  ";'); 
    المرحله الثانيه
    يتم تنفيذ دالة eval ويصبح متغير $var حاملاً لقيمة القالب بعد احتساب مابداخله من قيم أخرى.


    مكان الخطوره:
    الخطر الأول في هذا السطر البرمجي من علامات التنصيص.

    فإذا قام المخترق بتحرير أحد القوالب ووضع بداخلها على سبيل المثال السطر التالي:
    كود PHP:
    ". phpinfo() . " 
    فسوف يصبح السطر البرمجي السابق بعد استدعاء القالب حسب الشكل التالي:
    كود PHP:
    eval('$var = "". phpinfo() . "";'); 
    وبعد أن يتم إدخال السطر في دالة eval فسوف يتم تنفيذ الداله التي وضعها المخترق phpinfo ويتم وضع محتواها داخل متغير $var !!!

    علامة التنصيص والنقطه جعلت المخترق يقوم بتحوير عمل السطر البرمجي من إحتساب للقيم الموجوده بالقالب الى تنفيذ دوال يتضمنها القالب وحتى يتحقق مايريد يجب أن يستخدم التنصيص للفصل والنقطه للوصل.
    وهذه مصيبه فعلا فقد بدأ الأطفال بإستغلالها بوضع أكوداهم ونشرها في الإستايلات المنتشره فأرجوا التنبه الى ذلك فعدد الأشخاص الغير معروفين الذين ينشرون الاستايلات الغير معروفه في كل مكان، والله العالم بما تحتويه هذه الإستايلات من أكواد برمجيه فلا تستخدموا استايلات من أشخاص غير معروفين.

    ربما يأتي بعض المبرمجين ويستخدم دالة addslashes لعمل الترقيع لهذا السطر البرمجي قبل إدخال القالب لدالة eval وهذا خطأ كبير لأن بعض القوالب السليمه تحتوي على علامات تنصيص معطله برمز السلاش حسب التسلسل التالي "\ فاذا تم إدخالها على دالة addslashes أصبحت على التسلسل التالي "\\ وبهذا الشكل يتم تفعيل التنصيص وتظهر أخطاء في دالة eval ويتلف القالب السليم الغير ملغم.
    سأتكلم عن عملية الترقيع الصحيحه لاحقاً.




    الخطر الثاني من متغيرات تسمى nested_variables ( المتغيرات المتنكره ).
    وفيه يتم إستدعاء متغير بإسم داله php !!!
    ربما يبدو الأمر لغزاً ولكنه حقيقه مع الـ php ومرونتها العجيبه
    وهذا في نظري عيب أمني كبير موجود في لغة الـ php منذ القدم ولم يتم ترقيعه حتى يومنا هذا
    وعن طريقها لن يستخدم المخترق أي علامات تنصيص أو نقطه ويستخدم فيها الأقواس الخاصه { } مع علامة الـ $ أو علامة @ فمثلا:
    كود HTML:
    {${phpinfo()}}
    أو
    كود HTML:
    {${@phpinfo()}}
    لمزيداً من التفاصيل عن النوعين الدخول على الرابط التالي:
    http://www.php.net/types.string



    الترقيع:
    الحقيقه تعبت كثيراً من إيجاد طريقه فعاله للترقيع وفي نظري أفضل ترقيع لمنتديات الـ vbulletin كالتالي:

    1- إفتح ملف functions.php وابحث عن السطر التالي:
    كود PHP:
    return $template
    2- استبدله بالتالي:
    كود PHP:
    $temp preg_replace('#[\r|\n|\s|\t|\0]#i'''$template);
    if(
    preg_match('#["\.|\{\$|\}\}]#i'$temp)){
        
    $template '';
        
    //vbmail();
    }
    return 
    $template

    3- احفظ الملف وقم برفعه.

    طريقة الترقيع تكمن في فحص القالب بعد إزالة المسافات والعلامات الأخرى التي تستخدم في الكتابه فإذا وجد في القالب أياً من العلامات الخطيره التي أشرنا لها في المخاطر السابقه فسوف يقوم الكود بتفريغ محتوى القالب ويتم الرجوع الى دالة eval بقالب فارغ.

    الترقيع يعمل معي على نسخ 3.0 ولم أقم بتجربته على النسخ الجديده وأتمنى تجربته وإبداء أرائكم حوله.



    إحتياطات أمنيه في الوقت الراهن:
    1- أنصح الجميع كافه بمختلف انواع المنتديات فحص قوالبهم حول ماذكرناها.
    2- مخاطبة المستضيفين لتركيب ترقيعة الـ php الشهيره Suhosin Patch+Suhosin Extension وبإمكانهم الحصول عليها من الرابط التالي:
    http://www.hardened-php.net/suhosin/index.html


    أعذروني على الإطاله وقلة المشاركه وأرجوا إثراء الموضوع بالنقاش البناء.


    أخوكم المحب
    العندليب





    __________________
    al3ndaleeb[@]uk2.net


  2. #2
    Banned
    تاريخ التسجيل
    Dec 2000
    المشاركات
    686


    جزاك الله خير اخي العندليب

    لدي ملاحظه بسيطه ..

    أن يُخترق المنتدى من قبل أحدهم وبعدها يقوم بوضع أكواده داخل أي قالب يريد ومن ثم يبدأ مسلسل العبث
    هذا يعني ان التلغيم لن يكون الا بعد الاختراق ...
    السؤال هو كيف يستطيع الاختراق؟ او بمعني اخر .. إذا استطاع الاختراق فقد تمكن من المنتدى , سواء استخدم التلغيم ام لم يستخدمة في ضرب المنتدى ...

    هل يعني ان التلغيم يكون ما بعد الاختراق ؟ ام اسلوب للاختراق؟

    والمعذره على السؤال اذا كان ليس ذو معنى ... :shy:






  3. #3
    عضو شرف
    تاريخ التسجيل
    May 2006
    المشاركات
    2,247


    جزاك الله كل خيـر أخوي العندلــيب .. سلمت يداك من كلـ شر وفعلاً وحشتنـا مثل هذي المشاركـات لك .. دمت بود أخوك محمود :: )





    __________________
    دعم في بي
    --
    خدمات دعم المواقع والمنتديات
    Eng.Mahmoud
    00201002935500

  4. #4
    عضو فعال
    تاريخ التسجيل
    Sep 2006
    المشاركات
    1,624


    كلامك صحيح ميه ميه


    وغالبا قالب الفورهم

    عندما تجد الصفحة الرئيسية تغيرت وتشاهد بعض الملفات شغاله الا الرئيسية


    وكثر الاخترقات عن طريقها

    قبل يومين تم اختراق منتدى كلية الرس بهذه الطريقة حيث انه غير فقط قالب الفورهم

    ولكن يا ترى لماذا هذه النسخة فقط 3.5؟






  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    626


    بارك الله فيك يا العندليب

    مشاركة قيمة كما عودتنا :nice:






    __________________
    مواضيع سوالف اليوم
    قبل التعامل مع اي شخص, انظر ملفه الشخصي.
    كتاب

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    940


    شكراً لك اخي العندليب على هذا الموضوع القيم

    عندي معلومة لاحظتها أثناء عملي على ستايل موقعي

    وهي: لدى تعديل أي قالب فإن vBulletin لن يقبل وجود أي دالة php في القالب وتحديداً داخل العبارات الشرطية، إلا من عدد محدد من الدالات.

    كود HTML:
    <if condition="print('ok')"></if>
    إضافة العبارة السابقة سوف يؤدي إلى ظهور الرد التالي من جهة المنتدى:

    The following template conditional expression contains function calls:

    <if condition="print('ok')">

    Usage in Expression: print(\'ok\')
    Function Name: print

    With a few exceptions, function calls are not permitted in template conditional expressions. Please go back and re-write this expression.

    The following functions are allowed in template conditional expressions:
    in_array() is_array() is_numeric() isset() empty() defined() array() can_moderate() can_moderate_calendar() exec_switch_bg() is_browser() is_member_of()

    هذا بالنسبة للجيل 3.6 ولا أدري مدى انطباقه على الأجيال السابقة

    أيضاً هذا بالنسبة لتعديل القالب ولا أدري إن كان ينطبق على تحميل ملف ستايل xml

    الوقاية من هذه المشكلة يكمن في اعتماد مصادر موثوقة للستايلات.

    سأجرب الثغرة الأولى وإمكانية قبولها وأعود بالنتيجة






  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    940


    لم أنجح في تشغيل أي دالة من أي قالب جربته (header & headinclude)، القوالب لا تنفذ دالات الـ php إلا إذا كانت داخل الظروف الشرطية (ولعدد محدد من الدالات)، وربما هناك شيء بالمعالجة النصية للقالب فاتني ...


    مشكور






  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    214


    جزاك الله خير ويالليت الموضوع يصير من ضمن المواضيع المميزة






  9. #9


    وعليكم السلام وحياكم الله مجدداً

    اقتباس المشاركة الأصلية كتبت بواسطة المغوار
    جزاك الله خير اخي العندليب

    لدي ملاحظه بسيطه ..



    هذا يعني ان التلغيم لن يكون الا بعد الاختراق ...
    السؤال هو كيف يستطيع الاختراق؟ او بمعني اخر .. إذا استطاع الاختراق فقد تمكن من المنتدى , سواء استخدم التلغيم ام لم يستخدمة في ضرب المنتدى ...

    هل يعني ان التلغيم يكون ما بعد الاختراق ؟ ام اسلوب للاختراق؟

    والمعذره على السؤال اذا كان ليس ذو معنى ... :shy:
    عزيزي الأخ المغوار سؤالك لا عيب فيه ومهم جداً لأي صاحب منتدى حتى يعرف أن يأخذ بالأسباب
    فأغلب المنتديات إن لم تكن كلها تعمل على إستضافه مشتركه وخادم واحد فقط
    فإذا تم إختراق منتدى اخر أو موقع اخر موجود مع موقعك على نفس الخادم إستطاع المخترق بدوال معينه الوصول لمساحة موقعك من هذا الموقع المخترق وسعى للبحث عن كلمة المرور و إسم المستخدم لقاعدة بياناتك ومن بعدها يقوم هذا المخترق بالاتصال بالقاعده والبحث عن جداول قاعدتك لذلك لن يجد مكان يقوم بوضع أكواده فيه الا في ماذكرت لك والمصيبه هنا في حالة إنتقال موقعك الى إستضافه أخرى أو سرفر خاص بك فسوف تنقل معك العله الموجوده في هذه الجداول وبهذا الشكل إستطاع المخترق للوصول لك مره أخرى وقت مايشاء.


    الاخوان Sc®iPt و albrens و ibtesama.com
    شاكر لكم مروركم الكريم وبارك الله فيكم


    الاخ مجود الحفر
    إذا رأيت قالب FORUMHOME الموجود في ملف Index.php يعطي صفحة بيضاء فاعلم أن المخترق يتعلم ولا يعرف الأساليب الأخرى فأغلبهم تستهويه هذه الأفعال وكأنه سوبر مان العرب نسأل الله السلامه.
    أما عن ماذكرته بخصوص موقع الرس و نسخة 3.5 فليست المسأله قاصره على هذه النسخه أو نسخه أخرى حتى لو كانت اخر اصدار ولكن المسأله مقتصره على الأسلوب فإذا فشلت محاولات الأطفال بالوصول لك قاموا بالبحث في المواقع الأخرى عن أي منفذ وهذه للأسف من عيوب الإستضافه.


    الأخ الكريم Milad
    أسعد الله أوقاتك بكل خير ونورتنا بالنقاش وشكراً على إضافتك
    مطوري الـ vbulletin لجأوا إلى اختراع الجمله الشرطيه بالقوالب الـ IF حتى يتخلصوا من كثرة تعدد القوالب وعلى مايبدوا أنهم لم ينتبهوا إلى هذه المسأله ولو قمت بمخاطبتهم عن اسلوب التلغيم الذي نتحدث عنه في هذا الموضوع لأجابوك بأنهم غير مسأولين عن الاختراقات التي قد تحدث من الخارج وهذه حقيقه وقد تحدثت مع أحد مشرفيهم بخصوص هذه المسأله وأجابني بهذه الإجابه.
    فالجمله الشرطيه IF التي ذكرها الأخ Mila يوجد جزء منها متعلق بالـ php
    فمثلا
    <IF Condition='xxxxxxxxxxxxxxxxxxxxx'></IF>
    أو
    <IF Condition="xxxxxxxxxxxxxxxxxxxxx"></IF>
    أو
    <IF Condition=xxxxxxxxxxxxxxxxxxxxx></IF>

    فالجزء الموجود بعد كلمة condition= هو في الأساس كود php وبالإمكان إستخدامه كمكان لوضع كوود اخر.

    أما عدم عمل الأكواد معك أخي Milad فهذا بسبب إضافة الأكواد عن طريق لوحة التحكم وهذا خطأ!
    أريدك أن تضيفها من الخارج وكأنك أنت المخترق!
    بمعنى أوضح
    قم بالدخول على سكربت اتصال بقاعدة البيانات مثل الـ phpMyAdmin الخاص بك
    وافتح جدول القوالب template وابحث عن القالب المسمى header على سبيل المثال وقم بإدخال الطرق التي ذكرتها في أول الموضوع وسوف تشاهد النتيجه بنفسك.


    وللتنبيه مره أخرى
    هذا الأسلوب ليس قاصراً فقط على الـ vbulletin وهو موجود ببرامج أخرى كما أشرت سابقاً.
    فقوموا بالبحث في قواعد بياناتكم عن أي شي من هذا القبيل.


    موفقين





    __________________
    al3ndaleeb[@]uk2.net

  10. #10
    عضو فعال
    تاريخ التسجيل
    Oct 2005
    المشاركات
    1,797


    الله يجزاك خير اخوي ، بصراحه مواضيعك رائعه كالعاده
    ولكن الان هل يجب علينا الترقيع بالنسخ الجديده للـ vBulletin ?






  11. #11
    عضو نشيط
    تاريخ التسجيل
    Jun 2006
    المشاركات
    119


    السلام عليكم

    سلمت يمناك واعانك الله على فعل الخير

    تم التجربه على 3.6.4 وشغاله

    يعطيك العافيه






  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    868


    و عليكم السلام ورحمة الله وبركاته

    ارتاح و اسعد ان فيه اعضاء في سوالف اهدافهم نبيلة عالية مثلك يا العندليب

    و لكن عندي سؤال و اعذرني لان محاكيك ما هنا زود لا خبره و لا علم

    بخصوص الدوال nested قد قريت و ما اكذب عليك ما فهمت ذاك الفهم

    بس بحكم خبرتك يمكن توضح لي .. فيه بروجيكت في sf اسمه XML-RPC for PHP .. http://sourceforge.net/projects/phpxmlrpc/

    يقولون في هذا البروجيكت ان كانت عندهم مثل مشكلة الهوك حقت الـvbulletin في اصدارات قديمة يمكن الاول الظاهر قبل سنتين او ثلاث الله اعلم

    و تطرقوا لحل لها أو بالاصح صاحب من حلها هو نفسه صاحب موقع hardened-php.net فهل عندك فكره عن مشكلتهم هذي و هل حلوها فعلاً و الا مازال فيه مشاكل و هل ممكن تفيد الحلول اللي طُرحت لحل هالمشكلة اقصد تلغيم القوالب؟

    و اعذرني على كثرة اسالتي لكن بني آدم طماع

    و الله يوفقك و يزيدك من علمه





    __________________
    ... رَبِّ اشْرَحْ لِي صَدْرِي وَيَسِّرْ لِي أَمْرِي وَاحْلُلْ عُقْدَةً مِّن لِّسَانِي يَفْقَهُوا قَوْلِي ...
    http://onetwo.arabform.com

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    275


    عدااااااااااااك العيييييييييييييب ا العندليب






  14. #14
    عضو نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    53


    الحقيقة انك استاذ ياعندليب ...



    بارك الله فيك وفي عملك ...





    __________________
    a_326_a@hotmail.com

  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    359


    جزاك الله خير اخوي العندليب





    __________________
    سبحان الله وبحمدة ,,, سبحان الله العظيم

    حسبي الله على اليهود , لعنة الله عليهم





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض