بسم الله الرحمن الرحيم
عند تفحصي لمجلة اخي RAFIAPHP وجدت كود يمكن ان يكون ثغرة قاتلة ولكن
عند توفر شرط وهو الذي يريد ان يخترق المجلة لابد ان يكون مستضيف عند
اللي انت مستضيف عنده اقصد مستضيف rafiaphp
اذا توفر هذا الشرط اعتبر مجلتك مخترقة لماذا؟
لان تقنيتك في حماية لوحة التحكم ضعيفة نوعا ما - والكمال لله وحده -
اخي رفيع استخدم هذا الكود لفرز هل هذا العضو مدير ام لا وهو كود ضعيف كما
قلت سابقا
==========================
function checkadmin()
{
global $HTTP_COOKIE_VARS,$user_admin2;
if (!session_is_registered("user_name2"))
{
login();
foot();
exit();
}
if (($HTTP_COOKIE_VARS["cookie_login_admin"] !="rafia_admin") &&
($HTTP_COOKIE_VARS["cookie_admin"] !="1"))
{
login();
foot();
exit();
}
}
============================
سوف اشرح لكم كيف يستطيع المخترق ان يجتاز هذا الكود بكل بساطة
علما ان هذا الكود ينقسم الى جزئين حسب عملية الفرز ناخذ الجزء الاول
if (!session_is_registered("user_name2"))
{
login();
foot();
exit();
}
في السابق قلت لابد ان يكون المخترق على نفس استضافة المجلة
لانه وبكل بساطة يستطيع انشاء session جديد باسم user_name2 والكل يعلم ان نظام لينكس (اغلب نظام
السيرفرات) يخزن السيشن في ملف tmp لكافة المواقع على نفس السيرفر ولكن لابد من اخذ id السيشن
لاعطائه للموقع للتعرف عليك بهذا نكون اجتزنا الجزء الاول من الكود
================================
if (($HTTP_COOKIE_VARS["cookie_login_admin"] !="rafia_admin") &&
($HTTP_COOKIE_VARS["cookie_admin"] !="1"))
{
login();
foot();
exit();
}
في هذا الجزء يعتمد برنامج اخي رفيع اعتماد كلي على الكوكيز والكوكيز كما تعلمون انه بامكان الشخص
صنعها وتجاوزها بكل سهولة كما فعلت في موضوعي ( الثغرة القاتلة في rafiaphp)
====================
علما اني طبقت هذا التشخيص على جهازي ونجحت
وبكذا يكون تجاوز الجزئين ودخل على لوحة المدير الهدف من هذا الكلام كله اني اريد ان يزداد قوة
حماية rafiaphp فقط واقتراحي هو الكود التالي يستبدل مكان الاول
وهو
function checkadmin($username,$password)
{
global $rafia;
$pass=md5($password);
$q=$rafia->query("select * from rafia_users where username='$username' and password='$pass' and useradmin=1");
$row=@$rafia->dbnumrows($q);
if($row==0){login();foot();exit();}
}
حيث ارى ان هذا الكود اكثر دقة وموثوقية
اكرر ماكتبت ذلك الا لزيادة الحماية
وقد ارفقت صورتين لتوضيح الامر
ان هناك اي خطأ فمن نفسي والشيطان وان لم يكن فمن الله
والسلام عليكم