修改一个Discuz 7.2的Register.PHP文件 但是报错!急求解决!

修改一个Discuz 7.2的Register.PHP文件 但是报错!急求解决!,第1张

if(!($rs=$db->query("select xkzh,xkxm,xksfzh from {$tablepre}xk where xkzh='$xkzh'"))

这里,如果我没看错的话,你在最后少了一个右括号“)”,加上试试

看看你数据库是什么编码

建议用utf-8编码,这样省了不少问题

不行,必须同步,否则有乱码

如果你论坛没数据,建议你下载最新版

补充:知道你的问题了,你用dw编辑保存时默认的gb2312编码,你可以调整一下dw的默认编码,或用EditPlus这个小编辑器编辑,保存时选择utf-8编码

看一下config目录下的config_globalphp文件,用记事本打开

检查以下这几个设置是否有错。for Discuz X25

$_config['db'][1]['dbhost']   = 'localhost';    //数据库地址

$_config['db'][1]['dbuser']   = 'root';        //连接数据库用户

$_config['db'][1]['dbpw']    = 'root';        //连接数据库密码

$_config['db'][1]['dbcharset']  = 'gbk';         //数据库使用字符

$_config['db'][1]['pconnect']  = 0;             //是否长连接

$_config['db'][1]['dbname']   = 'ultrax';      //数据库名称

$_config['db'][1]['tablepre']  = 'pre_';        //数据库前辍

____Discuz60__________injection __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 "<span style=\"font-size: 12px; font-family: Verdana\">注销成功<p><a href=\""$self"\">三秒后自动退出或单击这里退出程序界面 >>></a></span>";

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 "<span style=\"font-size: 12px; font-family: Verdana\">登陆成功<p><a href=\""$self"\">三秒后自动跳转或单击这里进入程序界面 >>></a></span>";

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://wwwdiscuznet/admin/loggingphpaction=login

可以跳到其它目录

注册登录后利用

http://wwwdiscuznet/searchphpuser%id=100

可以进行injection……

只能手工注射

注意:showpath里必须包含用户自己的路径

如果限制的话,还可以向上跳,向上级传文件的时候,不能直接

http://www http://wwwdiscuznet/user/up/_id=///(注射语句)

就包含用户路径

http://wwwdiscuznet/memberphp rNumber=1402257EE8F

不然不能进行注射。

文件漏洞代码如下

<

define('__SYSTEM_ROOT', '');

include dirname(__FILE__)'/framework_gb/frameworkphp';

using('SystemDataData');

using('SystemDataPluginsOption');

using('SystemPagePage');

using('SystemSmartySmarty');

using('SystemFunctionsFunctions');

require_once __SYSTEM_ROOT"globalphp";

require_once __SYSTEM_ROOT"varsphp";

$db=new stdClass();

$db=$Data->getDB();

/

echo '<pre>';

print_r($Data);

/

>

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

好象是跨脚本漏洞

你好,你这个是数据库问题,如果之前论坛是正常的话,现在出现这种状况的可能原因有两种:

你的数据库信息改动了,导致论坛链接不上数据库,你可以查下你的数据库,或者联系空间商,帮你看下。

你的config/config_globalphp改动过!检查这文件里面的数据库用户名,密码,数据库名和你的实际数据库是否相符

一般是以上两种情况,如有问题,可以再问我

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 修改一个Discuz 7.2的Register.PHP文件 但是报错!急求解决!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情