Hacking Minions

استغلال ثغرة PHP Object Injection

أكتب لكم هذه المقالة لشرح كيفية استغلال ثغرة PHP object injection، سيتم تطبيق الاستغلال على تحدي PIPE Machine وهذا رابط التحدي: PIPE

قبل بداية المقالة أدعوكم لمتابعة حسابي في تويتر لمعرفة آخر وأحدث مقالاتي ومنشوراتي
@Amal_nowaimi

في البداية راح نستخدم هذه الادوات اللي راح تمكننا من استغلال هذه الثغرة بسهولة: 😎💻

  1. netdiscover
  2. burp suite
  3. search engine 🌐
  4. netcat
  5. VirtualBox

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

 نبدأ الاستغلال بالصور  👇

الفحص

اولًا راح نحمل PIPE و نسوي لها Import في VM و نشغلها و نبدأ الاختراق باستخدام اول اداة #netdiscover مع وضع range of IP address  باستخدام kali IP address  لتسريع البحث وتحديد النطاق، وكما هو مبين حصلنا على اول خيط للاستغلال وهو 192.168.1.178 :IP of PIPE 🌐

بعد ما حصلنا على IP راح نستخدم search engine للوصول له ، هنا استخدمنا #Firefox وطبعا زي ما هو موضح راح تظهر لنا شاشة تطلب اسم المستخدم و الرقم السري 😆لكن طبعا راح نتجاوزها بسهولة في الخطوة الجاية ☠️😏

راح نبدا بتشغيل الاداة الرهيبة burpsuite لاعتراض الطلب وتعديله وعشان نتجاوز authentication بكل بساطة عدلنا method from GET to POST وزي ما هو واضح في الصور تم تجاوز التوثيق بنجاح وحصلنا على الرد ok 200 😍

طبعا وصلنا للصفحة بدون اي توثيق و بشكل غير مصرح بعد ما تجاوزنا اول خط حماية authentication  🏆

بعد ما تم الوصول الى اول صفحة، راح نرجع نستخدم الأداة burpsuite ونعترض الطلب ولاحظت وجود مجلد جديد اسمه scriptz🧐 كما هو موضح في الصورة

راح نفتح هذا المجلد باستخدام #Firefox وطبعا انعرضت لنا كل الملفات الموجودة في المجلد بدون اي صلاحية لنا 😏

و بعد الفحص وجدت في ملف php.js ثغرة PHP object injection يمكن استغلالها بسبب ضعف في serialize() function 😎

الاستغلال

وطبعا باستخدام burpsuite مرة ثانية، راح تلاقي parameter مشفرة وهذه الصورة بعد ما نفك التشفير 🥳

بعد ما فكينا التشفير راح نضيف malicious payload بدال payload الاصلي واللي راح يمكننا اننا نعدل على صفحة scriptz مو بس نشوفها ☠️ وهنا نشوف اسم الصفحة اللي أضفناها ANHACK 😏 بالإضافة الى malicious payload في الصورتين الجاية

و طبعا باستخدام malicious payload آخر راح نتمكن من اضافة صفحة infophp باستخدام phpinfo() اللي راح ترجع لنا كل المعلومات عن السيرفر و البيئة اللي يعمل فيها بنجاح 😍كما هو موضح في الصور الجايه:

ظهور phpinfo

بعد ما استغلينا الثغرة بعرض وتعديل بدون اي صلاحيات، راح نرجع الى kali ونستخدم terminal لكتابة الاوامر واخر اداة netcat عشان نسوي listening على البورت المحددة 41666 وكما هو موضح في الصور الجاية وصولنا الى صلاحية root اعلى صلاحية في النظام 😎

الختام

في الختام، تعتبر ثغرة PHP object injection ثغرة على مستوى التطبيق و تمكن المخترق من الوصول الى اعلى صلاحية في النظام ⛔️،  وهي عالية الخطورة 🚫 ورقم تعريفها هو CVE-2020-35938 و لتفادي حصول هذه الثغرة نوصي بعدم استخدام  serialize ، unserialize  و استبدالها ب json_encode او json_decode ايضاً لتفادي هذه الثغرة ب استخدام PHP الاصدار السابع لان فيه خيار يعرف ب "allowed_calsess" يمنع المخترق من استغلال هذه الثغرة التي تعد درجة خطورتها 8.8 ⛔️

4
0

1 فكرة عن “استغلال ثغرة PHP Object Injection”

اترك تعليقاً