jeecms 最近被爆出高危网站漏洞,可以导致网站被上传webshell木马文件,受影响的版本是jeecms V6.0版本到jeecmsV7.0版本。该网站系统采用的是JAVA语言开发,数据库使用的是oracle,mysql,sql数据库,服务器系统支持windows2008,windows2012,以及linux centos系统。
我们来简单的了解下什么是jeecms系统,该系统主要是针对内容文章管理的一个系统,支持微信,以及公众号,移动电脑端自适应的模板系统,开发强大,安全,稳定,优化好,很多程序文件夹做了详细的安全权限分配,禁止直行java脚本文件,jeecms可以全站生成静态文件html,可视化的前端外观设计,丰富的第三方API接口,使得该系统深受广大建站爱好者的喜欢。
jeecms 网站漏洞分析
jeecms漏洞发生的原因是在于网站的上传功能,存在可以绕过安全拦截,直接将jsp格式的网站木马文件上传到服务器中去,由于该上传组件含有远程调用图片链接的功能,导致调用的是并没有做详细的安全过滤,没有限制远程图片的格式,导致可以将任意格式的文件上传到网站当中去。我们来看下代码:
当我们使用远程调用图片功能的时候,会使用前端的upfile函数去调用,然后经过separate的安全分隔符来进行确认文件的格式,导致没有任何的安全验证就可以上传文件,导致网站漏洞的发生。
我们本地电脑搭建下环境,java+mysql环境,apache,使用官方下载的V7版本,我们本地构造上传的页面代码如下:
enctype="multipart /form-data">
然后将我们远程图片链接地址写上,http://127.0.0.1:8080/webshell.jsp点提交直接绕过Jeecms的安全检测系统,上传成功,远程图片抓取成功的提示,在上传过程中会直接返回文件的地址路径。
jeecms 网站漏洞修复与建议
目前通过搜索查询到使用jeecms的网站达到上万个,使用该jeecms建站的网站运营者,请尽快升级网站系统到最新版V9版本,自己公司技术有限的,请将远程上传图片功能去掉,ueditor目录下的getRemoteImage.jspx文件删除掉,或者更名,如果自己对代码不是太熟悉话,也可以找专业的网站安全公司处理。