网站漏洞怎么修复代码漏洞
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文件删除掉,或者更名,如果自己对代码不是太熟悉话,也可以找专业的网站安全公司处理。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
HanLP vs LTP 分词功能测试
文章摘自github,本次测试选用 HanLP 1.6.0 , LTP 3.4.0 测试思路 使用同一份语料训练两个分词库,同一份测试数据测试两个分词库的性能。 语料库选取1998年01月的人民日报语料库。199801人民日报语料 该词库带有词性标注,为了遵循LTP的训练数据集格式,需要处理掉词性标注。 测试数据选择SIGHan2005提供的开放测试集。 SIGHan2005的使用可以参见其附带的readme。 HanLP java -cp libs/hanlp-1.6.0.jar com.hankcs.hanlp.model.perceptron.Main -task CWS -train -reference ../OpenCorpus/pku98/199801.txt -model cws.bin mkdir -p data/model/perceptron/pku199801 mv -f cws.bin data/model/perceptron/pku199801/cws.bin 默认情况下,训练的迭代次数为5。 修改 src/main/resouce...
- 下一篇
好程序员分享javascript中数组化的一般见解
好程序员分享javascript中数组化的一般见解,数组化浏览器中存在许多类数组对象,往往对类数组操作比较麻烦,没有数组那些非常方便的方法,在这种情况下,就有了数组化方法。数组化的一般方法1.第一种也是我们最常见的的方法,[].slice.call方法function toArray(obj){1. return [].slice.call(obj); 2. //Array.prototype.slice.call(); 3. } Ps:这种方法,其实就是引用方法,注释的部分为完全写法,返回的就是一个数组对象。 2.第二种方法借鉴的是jq中的makeArray方法function makeArray(obj){1. var target = []; 2. if(obj != null){ 3. var i = obj.length; 4. if(i = null || typeof obj === 'string' || typeof obj === 'function' ||5.obj.setInterval){// 如果是字符串、函数win对象,就把这个元素付给创建数组的第一个元...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16