
03-08-2006, 04:26 PM
|
عضوية مغلقة
|
|
تاريخ التسجيل: May 2006
مشاركة: 112
مستوى تقييم العضوية: 0
|
|
الحل لوصول المخترق لبيانات ملف 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 فاجعل بداخله بيانات وهميه وشفره بالزند كذلك.
|