本文用到的工具: Seay PHP 代码审计工具 2.0.6 ,下载地址 HdhCmsTest2cto测试数据/soft/201210/34667.html
来个介绍:
zcncms 是站长中国基于 php 技术开发的内容管理系统,提供了内容编辑、关键词管理、广告管理、链接管理等模块和模型,程序的设计十分简洁并注重了二次开发的要求,可以很方便的在原来系统的基础上添加新的模型和功能,例如图文、产品等模型,程序由 5 年技术经验的团队历时一年在团队积累的原有程序的基础上全新开发而成,符合现有的建站要求并基于 seo 进行的优化,支持伪静态等 seo 实用功能。
再看看文件结构:
我们先用工具扫一遍,然后一个一个文件检查
一、文件包含 漏洞
看图:
工具上显示漏洞文件: include\\template.inc.php
看代码:
<?php
// 常用部分
ob_start();
if($tpl_in_module == 0){
include(WEB_TPL . $templatefile);
} elseif($tpl_in_module == 1){
include($templatefile);
}
$output = ob_get_contents();
ob_end_clean();
echo $output;
exit;
?>
很明显的, $tpl_in_module 和 $templatefile 变量没初始化,在 register_globals = On 的情况下,俺们就可以来文件包含了,但是前台不能传文件啊,蛋疼啊,在 allow_url_include=on 的情况下,俺们就直接包含远程文件, 官方那个男扮女装的客服妹纸( zcncms 作者)说正在开发会员功能。。。
漏洞证明截图:
修补方法: 初始化啊,亲
找了半天,又看了下其他敏感文件,没发现什么大的问题了,这套cms 做的还是挺不错的,蛋疼的是作者木 JJ 装妹纸。好了,这次就算这么完了,以后等他的会员功能什么的出来了再挖挖看看。本文档已提交至官方并通知修复。
查看更多关于Zcncms1.2.8代码审计总结 文件包含漏洞与修复 - 网的详细内容...