加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Web中间件漏洞之Tomcat篇

发布时间:2019-03-25 03:46:35 所属栏目:业界 来源:第59号
导读:1.Tomcat简介 Tomcat 处事器是一个免费的开放源代码的 Web 应用处事器,属于轻量级应用处事器,在中小型体系和并发会见用户不是许多的场所下被广泛行使,是开拓和调试 JSP 措施的首
副问题[/!--empirenews.page--]

1.Tomcat简介

Tomcat 处事器是一个免费的开放源代码的 Web 应用处事器,属于轻量级应用处事器,在中小型体系和并发会见用户不是许多的场所下被广泛行使,是开拓和调试 JSP 措施的首选。

对付一个初学者来说,,可以这样以为,当在一台呆板上设置好 Apache 处事器,可操作它相应 HTML(尺度通用标志说话下的一个应用)页面的会见哀求。现实上 Tomcat 是 Apache 处事器的扩展,但运行时它是独立运行的,以是当运行 tomcat 时,它现实上作为一个与 Apache 独立的历程单独运行的。

2.长途代码执行

裂痕简介及成因

Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 哀求要领,可通过结构的进攻哀求向处事器上传包括恣意代码的 JSP 文件,造成恣意代码执行。

影响版本:Apache Tomcat 7.0.0 – 7.0.81

裂痕复现

设置裂痕,开启put要领可上传文件成果

  1. tomcat文件夹下的/conf/web.xml文件插入   
  2. readonly  
  3. false 

重启tomcat处事

Web中间件裂痕之Tomcat篇

会见127.0.0.1:8080,burp抓包,send to Repeater,将哀求方法改为PUT,建设一个122.jsp,并用%20转义空格字符。123.jsp内容为:

  1. <%Runtime.getRuntime().exec(request.getParameter("cmd"));%> 

返回201,声名建设乐成

会见127.0.0.1:8080/122.jsp?cmd=calc

弹出计较器

裂痕修复

1)检测当前版本是否在影响范畴内,并禁用PUT要领。

2)更新并进级至最新版。

3.靠山弱口令war包陈设

裂痕简介及成因

Tomcat支持在靠山陈设war文件,可以直接将webshell陈设到web目次下。

若靠山打点页面存在弱口令,则可以通过爆破获取暗码。

裂痕复现

Tomcat安装目次下conf里的tomcat-users.xml设置如下

会见靠山,登岸

上传一个war包,内里是jsp后门

乐成上传并理会,打开

Web中间件裂痕之Tomcat篇

可执行体系呼吁

Web中间件裂痕之Tomcat篇

也可举办文件打点,恣意查察、删除、上传文件

Web中间件裂痕之Tomcat篇

裂痕修复

1)在体系上以低权限运行Tomcat应用措施。建设一个专门的 Tomcat处事用户,该用户只能拥有一组最小权限(譬喻不应承长途登录)。

2)增进对付当地和基于证书的身份验证,陈设账户锁定机制(对付齐集式认证,目次处事也要做响应设置)。在CATALINA_HOME/conf/web.xml文件配置锁定机制和时刻超时限定。

3)以及针对manager-gui/manager-status/manager-script等目次页面配置最小权限会见限定。

4)靠山打点停止弱口令。

4.反序列化裂痕

裂痕简介及成因

该裂痕与之前Oracle宣布的mxRemoteLifecycleListener反序列化裂痕(CVE-2016-3427)相干,是因为行使了JmxRemoteLifecycleListener的监听成果所导致。而在Oracle官方宣布修复后,Tomcat未能实时修复更新而导致 的长途代码执行。

该裂痕所造成的最基础缘故起因是Tomcat在设置JMX做监控时行使了JmxRemoteLifecycleListener的要领。

裂痕影响版本:

  • ApacheTomcat 9.0.0.M1 到9.0.0.M11
  • ApacheTomcat 8.5.0 到8.5.6
  • ApacheTomcat 8.0.0.RC1 到8.0.38
  • ApacheTomcat 7.0.0 到7.0.72
  • ApacheTomcat 6.0.0 到6.0.47

裂痕复现

操作前提:外部必要开启JmxRemoteLifecycleListener监听的10001和10002端口,来实现长途代码执行。

conf/server.xml中第30行中设置启用JmxRemoteLifecycleListener成果监听的端口:

设置好jmx的端口后,在tomcat版本所对应的extras/目次下来下载catalina-jmx-remote.jar以及下载groovy-2.3.9.jar两个jar包。下载完成后放至在lib目次下。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读