Uchome社会化网络软件后台GetWebShell漏洞
来源:岁月联盟
时间:2010-04-19
影响版本:
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)/", "/<divs+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.syue.com/
漏洞修复:
厂商补丁:
UCenter Home
----------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://u.discuz.net/