免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > DeDeCMS v5.7 member漏洞分析(8)

DeDeCMS v5.7 member漏洞分析(8)

时间:2012-04-12 20:32来源:未知 整理:寂涯网络 点击:


…(略)//检查和注册外部提交的变量,语句①,代码见前文
}
//系统配置参数,语句②
require_once(DEDEDATA."/config.cache.inc.php");
//数据库配置文件,语句③
require_once(DEDEDATA.'/common.inc.php');
…(略)
//模板的存放目录,语句④
$cfg_templets_dir = $cfg_cmspath.'/templets';
$cfg_templeturl = $cfg_mainsite.$cfg_templets_dir;
…(略)
首先语句①检查和注册外部提交的变量,然后语句②、③初始化全局变量(系统配置参数、数据库配置参数),最后语句④初始化网站的其他全局变量。所以即使语句①成功提交了以 “cfg_”开头的网站全局变量,比如提交“cfg_mb_open”(是否开启会员功能)值为“Y”, 随后还是会被初始化为网站设置值,目前还无法修改全局变量。此方法适合:GET 方式提交
_POST 和_COOKIE,POST 方式提交_COOKIE。
修改全局变量。DeDeCMS 同时还通过 include/filter.inc.php 包含文件过滤不相关内
容,比如禁止提交$cfg_notallowstr 变量定义的字符,过滤$cfg_replacestr 变量定义的字
符为“***”等,代码如下:
//过滤不相关内容
function _FilterAll($fk, &$svar)
{
global $cfg_notallowstr,$cfg_replacestr;
if( is_array($svar) )
{
foreach($svar as $_k => $_v)
{
 
}
}
else
{

$svar[$_k] = _FilterAll($fk,$_v);
…(略) //禁止提交$cfg_notallowstr变量定义的字符
}
return $svar;
}
/* 对_GET,_POST,_COOKIE进行过滤  */
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v)
{
${$_k} = _FilterAll($_k,$_v); //注册变量并过滤变量值
}
}
过滤不相关内容的同时注册变量!搜索“filter.inc.php”文件包含情况如图 12,如
member/config.php 文件,首先包含 common.inc.php 文件,然后再包含 filter.inc.php 文
件,因此可以修改以“cfg_”开头的全局变量。图中这几个页面文件以及包含这几个文件的
页面均可以提交和修改全局变量,几乎 member 目录中所有的页面文件均受此影响。
 
图12
利用一:绕过注册限制注册新会员。变量 cfg_mb_open 决定是否开启会员功能,变量
cfg_mb_allowreg 决定是否开启新会员注册功能,“N”为关闭,否则开启功能,所以即使网
站关闭会员功能,只要提交 cfg_mb_allowreg 变量不为“N”,便可以成功注册新会员,提交
cfg_mb_open 变量不为“N”,则可以使用曾经注册的会员继续登陆!绕过的方法有:
 
方 法 一 : 修 改 注 册 提 交 页 面 源 码 , 将     form            的    action      值 改 为
“http://127.1/member/reg_new.php?_POST[cfg_mb_allowreg]=Y”,其中“127.1”根据实 际修改。
方法二:修改注册提交页面源码,在 form  中增加“input ”元素,name  属性为 “ COOKIE[cfg  mb  allowreg]”,值为“Y”(非 “N”)。
 
利用二:注册已审核新会员。DeDeCMS 系统默认设置时,新注册会员后需要邮件验证, 全局变量 cfg_mb_spacesta 值为会员使用权限开通状态,默认 “-10”为需要邮件验证,“-1” 为手工审核, “0”为没限制,注册页面 reg_new.php 的代码如下:
 
$spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
$inQuery                  =                   "INSERT                  INTO                   `#@    member` (`mtype` ,`userid` ,`pwd` ,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,               `matt`,
`spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip` ) VALUES                          ('$mtype','$userid','$pwd','$uname','$sex','10','$dfmoney','$email','$dfscores',

本页地址 http://www.jybase.net/wangzhananquan/20120412823.html

百度搜索更多

谷歌搜索更多

顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com