عرض مشاركة مفردة
 
  #1  
قديم 03-08-2006, 04:26 PM
LMSTY-DES LMSTY-DES غير متصل
عضوية مغلقة
 
تاريخ التسجيل: May 2006
مشاركة: 112
مستوى تقييم العضوية: 0
LMSTY-DES is on a distinguished road
الافتراضي الحل لوصول المخترق لبيانات ملف config حتى و ان كان مشفراً



الحل هو كالتالي:

إذا كانت نسختك 3.0
1- قم بفتح ملف init.php وقم بالبحث عن السطر التالي:


// load config
if (!file_exists('./includes/config.php'
))
{
echo
"includes/config.php does not exist. Cannot continue."
;
exit;
}
require(
'./includes/config.php'
);




إستبدله بالسطر التالي:

eval(chr(114). chr(101).chr(113).chr(117).chr(105).chr(114).chr(101).chr(40).chr(39).chr(46).chr(47).chr(105).chr(1 10).chr(99).chr(108).chr(117).chr(100).chr(101).chr(115).chr(47).chr(100).chr(97).chr(116).chr(97).c hr(115).chr(116).chr(111).chr(114).chr(101).chr(95).chr(105).chr(110).chr(102).chr(111).chr(46).chr( 112).chr(104).chr(112).chr(39).chr(41).chr(59));



2- قم بالبحث عن الأسطر التاليه:


// load db class -- supports only mysql at the moment
require_once('./includes/db_mysql.php'
);

$DB_site = new DB_Sql_vb
;

$DB_site->appname = 'vBulletin'
;
$DB_site->appshortname = 'vBulletin (' . VB_AREA . ')'
;
$DB_site->database = $dbname
;

$DB_site->connect($servername, $dbusername, $dbpassword, $usepconnect
);

// demo mode stuff
if (defined('DEMO_MODE') AND DEMO_MODE AND function_exists('vbulletin_demo_init'
))
{
vbulletin_demo_init
();
}

unset(
$servername, $dbusername, $dbpassword, $usepconnect
);
// end init db



استبدلها بالسطر التالي:


// demo mode stuff
if (defined('DEMO_MODE') AND DEMO_MODE AND function_exists('vbulletin_demo_init'
))
{
vbulletin_demo_init
();
}



- قم بحفظ الملف ورفعه لمجلد includes .

4- أنشيء ملف جديد قم بتسميته datastore_info.php وأكتب بوسطه مايلي:


<?php
$server
= 'localhost'
;
$dbuser = 'user_dbuser'
;
$dbpass = 'XXXXXXXXXXXXXXX'
;
$db = 'user_db1'
;

$technicalemail = 'support@xxxxxxxxx.com'
;
$usepconnect = 0
;
$admincpdir = 'admincp'
;
$modcpdir = 'modcp'
;

$canviewadminlog = ''
;
$canpruneadminlog = ''
;
$canrunqueries = ''
;
$undeletableusers = ''
;
$superadministrators = ''
;

$tableprefix = ''
;
$cookieprefix = 'bb2'
;


$sitepath = './includes/'
;
if(
file_exists($sitepath . 'db_mysql.php'
)){
require_once(
$sitepath . 'db_mysql.php'
);
$DB_site = new DB_Sql_vb
;
$DB_site->appname = 'vBulletin'
;
$DB_site->appshortname = 'vBulletin (' . VB_AREA . ')'
;
$DB_site->database = $db
;
$DB_site->connect($server, $dbuser, $dbpass, $usepconnect
);
}
unset(
$server, $dbuser, $dbpass, $usepconnect, $sitepath, $db
);
?>



5- قم بتغيير اللازم فيما سبق وبعدها قم بتشفير هذا الملف بالـ Zend Encoder ويفضل أن يكون الإصدار الأخير 4 .

6- قم برفع الملف datastore_info.php الى مجلد includes بنظام نقل binary .



أصبحت بياناتك مخزنه في ملف datastore_info.php
أما ملف config.php فاجعل بداخله بيانات وهميه وشفره بالزند كذلك.