Uchome社会化网络软件后台GetWebShell漏洞
添加时间:
2010-04-19
系统编号:
WAVDB-01569
影响版本:
UCenter Home 2.O
程序介绍:
漏洞利用:
2010-04-19
系统编号:
WAVDB-01569
影响版本:
UCenter Home 2.O
程序介绍:
UCenter Home是PHP+Mysql构建的社会化网络软件。
漏洞分析:
程序中js.php文件存在代码执行漏洞,原因是正则匹配时引号使用不当,导致可以任意提交并执行PHP代码。
Php中单引号与双引号是有区别的:
" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
' '单引号里面的不进行解释,直接输出。
这里正则匹配后的\\2在双引号里,导致了代码可以执行。
js.php代码如下:
include template("data/blocktpl/$id");
$obcontent = ob_get_contents();
obclean();
$s = array("/(\r|\n)/", "/\<div\s+class=\"pages\"\>.+?\<\/div\>/is", "/\s+(href|src)=\"(.+?)\"/ie");
$r = array("\n", '', 'js_mkurl("\\1", "\\2")');//代码执行
$content = '';
if($obcontent) {
$obcontent = preg_replace($s, $r, $obcontent);
$lines = explode("\n", $obcontent);
foreach ($lines as $line) {
$line = addcslashes(trim($line), '/\'\\');
$content .= "document.writeln('$line');\n";
}
} else {
$content .= "document.writeln('NO DATA')";
}
漏洞利用:
http://www.5luyu.cn/article/jishu/707.htm
解决方案:
厂商补丁:
UCenter Home
----------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://u.discuz.net/
信息来源:
<*来源: 陆羽's Blog
链接: http://www.5luyu.cn/
*>