零基础学黑客,搜索公众号:白帽子左一
CMS环境搭建
简介
DCRCMS是一个国产开源简单小巧的免费企业级CMS,基于PHP+Sqlite/MySql。
下载
直接官网(http://www.dcrcms.com/)下载即可
安装
企业站安装环境说明:
1、php+mysql版:php>=5 mysql>=5
2、 php+sqlite版:php>=5 sqlite>=3
请将下载的程序用flashfxp等上传工具上传到空间后(说明:如果使用用SQLITE版 网站目录路径有中文,可能对sqlite的支持不行.个人建议把网站放到英文路径目录中)
使用http://域名/install/index.php来进行安装就OK了…
说明:Mysql版本请在安装程序前 确定您的数据库(如本例是test_company)是否已经建立:
数据库前缀请尽量用常用字,比如用#号会造成错误 test#test 这样的前缀会造成错误 如果页面出现,Safe Alert: Request Error step 2! 你可以试试换过个数据库前缀
注意,上传尽量用二进制上传方式,FlashFxp中设置二进制上传的方法
上传完后 为了安全,请将install目录删除
代码审计
信息泄露
可以直接访问数据库文件内容
重安装漏洞
由于安装文件一般是漏洞的重灾地,于是这里直接跳到了安装文件,果然找到了漏洞点。
在installaction.php中,安装完成后会把前端文件重命名,但是后端逻辑文件依旧存在,所以如果知道安装文件位置即可重安装。
这里只重命名了前端文件
而且在文件280行,存在写文件操作,文件名为php且文件内容可控
由于文件内容可控,我们可以通过tablepre传参来写入一个恶意php文件
dcr_qy‘;?><?php phpinfo()?>
由于写入的是配置文件,所以访问站点任意文件都会包含此文件,所以还可以当后门来用。
这样就成功了。
sql注入漏洞
在install_action.php中还存在sql注入
对传参没有任何控制,很明显的注入。
任意文件删除漏洞!

全局搜索unlink函数的使用
第一处:在fmanage_action.php中提供了文件删除功能,但是未对文件路径做过滤,于是可以删除任意文件
这个cms把所有url变量注册为了全局变量,于是只需访问action=del_file&cpath=…/…/…/…/…/…/…/1.txt即可删除任意文件
第二处:cls_dir类中也存在一个任意文件删除漏洞
cache_clear.php引用了这个类
同理,通过控制url参数tpl_dir即可任意文件删除。