Tomcat8弱口令+后台getshell

漏洞原因

用户权限在conf/tomcat-users.xml文件中配置

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script" />
    
</tomcat-users>

可以看出,tomcat用户具有上述所有权限,密码为tomcat

默认情况下,通过常规安装在Tomcat8中没有用户,并且管理器页面仅允许访问本地IP。只有管​​理员手动修改了这些属性,我们才可以发起攻击。

 

前提条件

Tomcat版本8.0  默认安装是没有用户的,密码是tomcat

修复方案:

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

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

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

 

环境搭建

https://github.com/vulhub/vulhub/tree/master/tomcat/tomcat8

 

复现

1. 打开tomcat管理页面http://your-ip:8080/manager/html,输入弱密码tomcat:tomcat,然后访问后端:

 

2.制作war包

先将jsp大马压缩为zip,再将zip后缀改名为war,然后上传war包

3. 底部直接上传war包

 

 上传完直接访问/test/test.jsp 就会看到你上传的马,执行命令即可

posted @ 2020-04-15 12:04  Null1433  阅读(1428)  评论(0编辑  收藏  举报