تأمين تطبيقات الـ PHP من عدة ثغرات امنية
في هذا الدرس سنتطرق الى تأمين تطبيقات البي اتش بي من الثغرات الامنية . سوف اشرح تأمين التطبيقات من ثغرات الـ Cross-site scripting او الـ XSS و ثغرات الـ Remote File Include و ثغرات الـ Local File Include . اما بخصوص التأمين من الـ SQL injection سنتطرق لذلك في درس لأحق بأذن الله ! ملحوظة : إقتباس:
اولا : ثغرات الـ Remote File Include يعمل هذا النوع على تمكين المهاجم من ادراج ملف خارجي الى ملفات الموقع بشكل غير شرعي . يقوم المهاجم على الاغلب من خلال هذه الثغرة بأدراج ملف phpshell يستطيع من خلاله التلاعب بالموقع وقد يصل الى التلاعب بالخادم كاملا ! كيف يتم اصابة البرامج بهذه الثغرة ؟ تتم الاصابة عن طريق استخدام الدوال التالية بالبرنامج ( Include و Include_once و Require و Require_once ) متبوعة بالـ $ ( متغير ) . ناخذ مثالا لكود بسيط مصاب كود PHP:
وفي السطر الثاني من الكود تم استخدام الدالة include واستخدام علامة الـ $ قبل اسم المتغير ghost من بين الاقواس . كيف يمكنني تأمين البرامج من هذا النوع ؟ التأمين او الترقيع يكون عن طريق تعريف المتغير المصاب لـ ( ./ ) مثلا ترقيع الكود السابق من الثغرة يكون بهذا الشكل كود PHP:
ثأنيا : ثغرات الـ Local File Include يعمل هذا النوع على تمكين المهاجم من قراءة اكواد ملفات الموقع المصاب . كيف يتم اصابة البرامج بهذه الثغرة ؟ تتم الاصابة بهذا النوع من الثغرات عن طريق بعض الدوال ومنها ( file و readfile و show_source و fread ) مثال على كود مصاب كود PHP:
كيف يمكنني تأمين البرامج من هذا النوع ؟ التأمين او الترقيع يكون عن طريق تعريف المتغير المصاب لـ ( ./ ) كما ثغرات الريموت فايل انكلود مثال على نفس الكود المصاب اعلاه كود PHP:
ثالثأ : ثغرات الـ XSS يعمل هذا النوع على تمكين المهاجم من زرع اكواد جافا سيكربت و HTML بالملف المصاب . ينتج عن ذلك في معظم الاوقات تمكن المهاجم من سحب كوكيز ادمن الموقع عن طريق ملف Log ! يختلف هذا النوع عن باقي الثغرات فأن تنفيذه لأيكون على الموقع نفسه يكون على مستخدمين الموقع . كيف يتم اصابة البرامج بهذه الثغرة ؟ تتم الاصابة بهذا النوع من الثغرات غالبا عن طريق المربعات ( search ) كمربع البحث الموجود ببعض برامج البي اتش بي . مثال على كود مصاب كود PHP:
كيف يمكنني تأمين البرامج من هذا النوع ؟ التأمين او الترقيع يكون عن طريق الدوال التالية ( htmlentities or htmlspecialchars ) . يكون ترقيع الكود اعلاه بهذا الشكل كود PHP:
واضفنا قوسين حول الـ $_GET . وبهذا الشكل لن يتم تنفيذ استغلال الثغرة وسيتم عرضه بالصفحة فقط لأغير ! ( المقال عبارة عن مجهود شخصي ارجو ذكر المصدر عن النقل ) . المصدر مدونتي المتواضعة |
يعطيك العافية .... ولكن من الجدير بالذكر ان المثال اللي وضعته مثال بسيط لكود مصاب ..
توجد أمثلة أخرة يمكن أن تصاب بثغرات مع كونها معقدة نوعاً ما ... شكراً لك تشآآآآو |
إقتباس:
صحيح والاكواد التي وضعتها بالامثلة عبارة عن اكواد بسيطة جدا جدا وممكن تختلف الاكواد بشكل اخر ! لكن الجدير بالذكر .. ان الشرح يفهمك هيكلية ترقيع هذا النوع من الثغرات والباقي بسيط بأذن الله ومافيه تعقيد .. منور موضوعي اخوي |
إقتباس:
بس لابد من ذكر ان هذي الأخطاء .. هي أخطاء بسيطة .. فيه أخطاء معقدة تحتاج للتدقيق وكشفها ماهو بهذي السهولة ... هذا بالنسبة للزائر اللي حاب ياخذ معلومه أدق .. ولاموضوعك ما عليه غبار واسف على ازعاجك .. تشآآآو |
إقتباس:
بس لو يطلع اي احد لعدة اكواد ترقيع لثغرات مختلفة راح يفهمها وحياك الله مره ثانية :) |
جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 02:44 AM. |
Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012