这周的审计任务
ZZCMS8.1是站长招商网内容管理系统。审计这个CMS的原因很多,这里就不详说了(其实是漏洞类型多点)
环境搭建
1,虚拟机win7 32位,用wamserver或者phpstudy搭建环境。
2,ZZCMS8.1源码(已分享链接)放到WWW目录下面
3,安装,访问( http://127.0.0.1/zzcms8.1/install ),如果提示我们安装向导已经安装过,重安装需删除根目录下的 /install/install.lock 文件。删除之后再重新访问该安装页面( http://127.0.0.1/zzcms8.1/install )。一路选择下一步,直到设置页面,创建数据库......安装完成。
代码审计
审计的时候当然不是漫无目的的直接一个一个看php文件,先拿出来我们的代码审计工具扫一下(上篇文章提到),下面将会通过几个漏洞类型提到
先附图一张工具自动审计的漏洞,不过误报率很高。
XSS漏洞
可以说是最简单的一个漏洞了,先看一下
链接(http://127.0.0.1/zzcms8.1/uploadimg_form.php),问题出在uploadimg_form.php里面输出语句有可控变量,并且没有过滤,从而造成XSS漏洞
value="<?php echo @$_GET[‘imgid‘]?>"上图68行可以清楚的看到imgid是没有过滤直接输出的。
因此可以直接构造XSS的payload:http://127.0.0.1/zzcms8.1/uploadimg_form.php?imgid="><script>alert(/orange/)</script><"
这个页面是需要登陆的
登陆验证代码
<?php
if(!isset($_SESSION)){session_start();}
if (!isset($_COOKIE["UserName"]) && !isset($_SESSION["admin"])){
session_write_close();
echo "No Login!";
exit;
}
?>
如果你不想登陆的话,可以注释掉登陆的代码就好。还有其他处存在XSS,这里我只写一处