Jehad Alqurashi
Jehad Alqurashi

@Je_1r

10 تغريدة 88 قراءة Apr 24, 2022
#الامن_السيبراني
اول ثريد عن ثغرات الويب🔥
🔻اسم الثغرة : Local File Inclusion
▫️المواضيع اللي راح نتطرق لها
🔹تأثير هذي الثغرة
🔹كيفية اكتشافها
▫️طرق استغلالها عن طريق
🔹كيفية ترقيعها برمجيا
🔹رفع الملف
🔹تأثير ثغرة Local File Inclusion (LFI)
هذي الثغرة ببساطة تمكنك من
قراءة اي ملف على السيرفر
ومن الممكن انه تمكنك من تنفيذ اوامر
على السيرفر وهذا اللي راح نشوفه في نهاية الثريد
يتبع...
🔹كيفية اكتشافها
طبعا اكتشافها سهل جدا
انا سويت لاب بسيط عشان راح نطبق عليه
قبل فحص اي موقع لازم اول شي تسويه انه تتصفح الموقع ودايم تركز على ال Parameters اللي في الرابط
لان ال Parameters تعبر عن ايش الثغرة اللي ممكن يكون مصاب بها وكل شي يعتمد على التجربة
يتبع..
انا دخلت على الاب وتصفحته
لكن ملاحظ ف كل صفحة انها تحتوي على Parameter
اسمه File وقيمته اسم الصفحة اللي داخلها
هل من الممكن انه قاعد يصير استدعاء لملف معين لكل صفحه؟🤔
يتبع...
كيف راح نعرف هل هو فعلا هذا ال Parameter
مصاب بثغرة LFI او لا؟
اللي راح نسويه انه راح نستدعي ملف معروف على
سيرفرات اللينكس اللي هو:
/etc/passwd
هذا الملف يحتوي على اسماء المستخدمين اللي على النظام
نلاحظ انه استدعى الملف (كما هو موضح في الصورة)
يتبع...
الان راح نتعرف على ال php wrappers
طبعا راح تفيدنا في قراءة السورس لملفات ال PHP
نفترض انه راح نقرا ملف index.php
راح نستخدم wrappers اسمه
php://filter/resource
بس مشكلة هذا ال wrappers اذا الملف يحتوي على مسافات ماراح يقدر يقرأه لنا
يتبع...
الحل انه نضيف wrappers جديد على الموجود
عشان يشفر لنا حتى المسافات بتشفيرة base64
ويعرضه مشفر لنا ونحن نفك التشفيرة في اي موقع
(كما هو موضح في الصورتين)
طيب ايش نستفيد لما نقرأ السورس الخاص بملفات php؟
ممكن تستخرج ثغرات او معلومات حساسة عن طريق السورس
يتبع...
ثغرة LFI تنفذ اكواد php اللي يحتويها الملف بغض النظر عن صيغة الملف
الان نجي لمركز الرفع ونلاحظ انه مايقبل الا jpg,pdf,docx (كما هو موضح في الأولى)
الان راح اسوي ملف امتداده pdf لكن يحتوي على php code (كما هو موضح في الثانية)
يتبع...
اخيرا راح ارفع ملف ال pdf اللي يحتوي على php code
وراح نأخذ مسار الملف اللي تم رفعه ونستدعيه عن طريق ثغرة LFI ونضيف عليه بارميتر cmd بحيث نعطيه قيمه وينفذها لنا
يتبع...
🔹 ترقيع الثغرة برمجيا
هذي الفنكشنات المسببة للثغرة:
include,require
هذي الفنشكنات ليست مصابه بحد ذاتها لكن المبرمج مستخدمها بشكل خاطئ
بحيث انه ياخذ قيمه من المستخدم ويمررها لهذا الفنكشن وهذا اكبر خطأ
استخدامها الصحيح انه نستدعي الملف دايركت بدون أخذ قيمه من المستخدم

جاري تحميل الاقتراحات...