PublicCMS是目前网站系统中第一个采用JAVA架构 TOMCAT+Apcche+Mysql数据库架构的CMS网站,开源,数据承载量大,能够承载到上千万的数据量,以及用户的网站并发可达到上千万的PV,PublicCMS静态全站html,访问速度极快,模板样式多,可本身设计,第三方的API接口也不少,深受网站运营者的喜欢。最重要的是开源,免费升级,支持动静分离,数据库及时备份等功能。php
SINE安全于最近对该PublicCMS的系统进行全面代码安全检测,发现该PublicCMS系统存在网站漏洞,该漏洞能够对网站的任意目录下上传任意格式的文件,好比jar格式,JSP格式,war格式的脚本木马。下面针对于PublicCMS,咱们进行详细的分析以及漏洞的如何利用。咱们首先来搭建该系统的网站环境,使用Apache +Tomcat+Mysql数据库的一键安装环境包进行搭建,可使用phpstudy来搭建,快捷,方便,稳定,能够随时切换服务器的环境版本,以及架构搭建好后,咱们先登陆下网站的后台,以下图:html
咱们首先来搭建该系统的网站环境,使用Apache +Tomcat+Mysql数据库的一键安装环境包进行搭建,可使用phpstudy来搭建,快捷,方便,稳定,能够随时切换服务器的环境版本,以及架构。搭建好后,咱们先登陆下网站的后台,以下图:java
那么怎样才能上传到任意文件夹下呢? 好比我要上传到网站的根目录下该怎么弄呢?由于PublicCMS存在能够构造zip文件,并指定解压到任意目录。咱们来构造一下ZIP,建立一个文件,名称为:../../../../../../../../apache-tomcat-7.0.81/webapps/publiccms/safe.jsp,而后经过后台上传上去便可。上传后咱们访问网站根目录下safe.jsp 直接执行命令以下图:web
PublicCMS网站漏洞是如何产生的呢?sql
controller目录下\admin\cms\CmsWebFileAdminController.java代码里的uzip调用方式上出现了漏洞,该系统采用的是dounzip的方式去调用,dounzip是解压缩经常使用到的,因此上传ZIP文件的时候,自动解压缩了。致使咱们能够构造特殊的文件名,来将咱们的脚本木立刻传到网站任意目录下。数据库
该代码经过获取targetPath的上传路径值与压缩文件里的名字进行自动拼接,在拼接的这个过程中,../ 能够对目录进行跨站。网站漏洞产生最根本的缘由就是在处理这个压缩文件的时候并无对压缩里的文件名进行判断与过滤,致使可使用特殊的文件名进行定义,并传入到服务器后端执行代码,经过上传JSP木马后门,能够直接对服务器进行控制,危害性较高。apache
关于PublicCMS网站漏洞修复后端
已讲该漏洞报告给PublicCMS官方(天津黑核科技有限公司),并告知漏洞产生的具体细节,官方已对该漏洞进行了修复,请使用该PublicCMS网站的客户,尽快升级到最新版本便可。tomcat