PublicCMS是目前网站系统中第一个采用JAVA架构 TOMCAT+Apcche+Mysql数据库架构的CMS网站,开源,数据承载量大,可以承载到上千万的数据量,以及用户的网站并发可达到上千万的PV,PublicCMS静态全站html,访问速度极快,模板样式多,可自己设计,第三方的API接口也很多,深受网站运营者的喜欢。最重要的是开源,免费升级,支持动静分离,数据库及时备份等功能。

SINE安全于最近对该PublicCMS的系统进行全面代码安全检测,发现该PublicCMS系统存在网站漏洞,该漏洞可以对网站的任意目录下上传任意格式的文件,比如jar格式,JSP格式,war格式的脚本木马。下面针对于PublicCMS,我们进行详细的分析以及漏洞的如何利用。我们首先来搭建该系统的网站环境,使用Apache +Tomcat+Mysql数据库的一键安装环境包进行搭建,可以使用phpstudy来搭建,快捷,方便,稳定,可以随时切换服务器的环境版本,以及架构搭建好后,我们先登录下网站的后台,如下图:

我们首先来搭建该系统的网站环境,使用Apache +Tomcat+Mysql数据库的一键安装环境包进行搭建,可以使用phpstudy来搭建,快捷,方便,稳定,可以随时切换服务器的环境版本,以及架构。搭建好后,我们先登录下网站的后台,如下图:

那么怎样才能上传到任意文件夹下呢? 比如我要上传到网站的根目录下该怎么弄呢?因为PublicCMS存在可以构造zip文件,并指定解压到任意目录。我们来构造一下ZIP,创建一个文件,名称为:../../../../../../../../apache-tomcat-7.0.81/webapps/publiccms/safe.jsp,然后通过后台上传上去即可。上传后我们访问网站根目录下safe.jsp 直接执行命令如下图:

PublicCMS网站漏洞是如何产生的呢?

controller目录下\admin\cms\CmsWebFileAdminController.java代码里的uzip调用方式上出现了漏洞,该系统采用的是dounzip的方式去调用,dounzip是解压缩常用到的,所以上传ZIP文件的时候,自动解压缩了。导致我们可以构造特殊的文件名,来将我们的脚本木马上传到网站任意目录下。

该代码通过获取targetPath的上传路径值与压缩文件里的名字进行自动拼接,在拼接的这个过程当中,../ 可以对目录进行跨站。网站漏洞产生最根本的原因就是在处理这个压缩文件的时候并没有对压缩里的文件名进行判断与过滤,导致可以使用特殊的文件名进行定义,并传入到服务器后端执行代码,通过上传JSP木马后门,可以直接对服务器进行控制,危害性较高。

关于PublicCMS网站漏洞修复

已讲该漏洞报告给PublicCMS官方(天津黑核科技有限公司),并告知漏洞产生的具体细节,官方已对该漏洞进行了修复,请使用该PublicCMS网站的客户,尽快升级到最新版本即可。

PublicCMS 网站漏洞 任意文件写入并可提权服务器权限的更多相关文章

  1. 修复网站漏洞对phpmyadmin防止被入侵提权的解决办法

    phpmyadmin是很多网站用来管理数据库的一个系统,尤其是mysql数据库管理的较多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都会导致mysql的数据账号密码被泄露,那么如 ...

  2. ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)

    ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088) 查看docker的activemq版本命令:$ docker ps | grep activemq927860512 ...

  3. 致远A8任意文件写入漏洞_getshell_exp

    近期爆出致远 OA 系统的一些版本存在任意文件写入漏洞,远程攻击者在无需登录的情况下可通过向 URL /seeyon/htmlofficeservlet POST 精心构造的数据即可向目标服务器写入任 ...

  4. Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现

    Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现 一.漏洞描述 该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通 ...

  5. Aria2任意文件写入漏洞

    目录: 简介 漏洞描述 payload 漏洞复现 一.Aria2介绍 Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink), ...

  6. JeeCMS v7 SSRF导致任意文件写入

    前言: 学习大佬的思路. from先知社区:https://xz.aliyun.com/t/4809 00X1: 是/ueditor/getRemoteImage.jspx 接口 通过构造upfile ...

  7. ActiveMQ反序列化(CVE-2015-5254) && ActiveMQ任意文件写入 (CVE-2016-3088)

    ActiveMQ 反序列化漏洞(CVE-2015-5254) 漏洞详情 ActiveMQ启动后,将监听61616和8161两个端口,其中消息在61616这个端口进行传递,使用ActiveMQ这个中间件 ...

  8. ActiveMQ任意文件写入漏洞(CVE-2016-3088)

    上传webshell 容器用vulhub的 PUT一个jsp文件 MOVE到api目录 默认的ActiveMQ账号密码均为admin,首先访问http://your-ip:8161/admin/tes ...

  9. 漏洞复现-ActiveMq任意文件写入漏洞(CVE-2016-3088)

          0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 未禁用PUT.MOVE等高危方法的ActiveM ...

随机推荐

  1. SharePoint中遇到Timeout

    使用SharePoint时会遇到不止一种的timeout(即超时)错误. 如果遇到了timeout, 该怎么区分呢? 大致上SharePoint可以控制和影响的timeout地方如下: 1. Shar ...

  2. spring的开发

    spring与web的整合 1. 整合的原理: Spring容器随着tomcat容器ServletContext的启动而启动,并且在初始化完成后放到整个应用都可以访问的范围. ApplicationC ...

  3. SQL Server ->> Transparent Data Encryption(透明化数据加密)

    Comming later... 参考文献: Transparent Data Encryption (TDE)

  4. java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract

    二月 26, 2019 3:47:40 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for ...

  5. WAKE-WIN10-SOFT-python配置

    1,anaconda下载,安装 1,1 官网:https://www.continuum.io/downloads 下载:https://repo.continuum.io/archive/ win1 ...

  6. 如何为属性是disabled的表单绑定js事件

    $(document).click(function(e){ var el = e.target; if (el.tagName == 'INPUT') { $(el).removeAttr('dis ...

  7. <知识整理>2019清北学堂提高储备D3

    全天动态规划入门到入坑... 一.总概: 动态规划是指解最优化问题的一类算法,考察方式灵活,也常是NOIP难题级别.先明确动态规划里的一些概念: 状态:可看做用动态规划求解问题时操作的对象. 边界条件 ...

  8. 学大伟业 Day 6 培训总结

    今天接着昨天的继续讲数据结构 今天先是 分块 在统计问题中,尤其是序列问题,经常涉及到区间的操作,比如修改一段区间的元素,询问某个区间的元素的信息. 如果每次都对一整个区间的每一个元素进行操作的话,那 ...

  9. (转)HTML5之渐变

    <!DOCTYPE> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta h ...

  10. C#中的代码书写规范以及命名规范

    C#代码书写规则: 1. 尽量使用接口,然后使用类实现接口,以提高程序的灵活性. 2.一行不要超过80个字符 3.尽量不要手动更改计算机生成的代码 4.关键的语句写注释 5.建议局部变量在最接近使用它 ...