常⻅中间件漏洞--Tomcat

tomcat是⼀个开源⽽且免费的jsp服务器,默认端⼝ : 8080,属于轻量级应⽤服务器。它可以实现

JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的⼀款环境。

1.CVE-2017-12615

Tomcat put⽅法任意⽂件写⼊漏洞

漏洞描述

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

环境搭建

cd vulhub-master/tomcat/CVE-2017-12615
docker-compose up -d

漏洞利用

1.⾸⻚抓包,修改为 PUT ⽅式提交

Tomcat允许适⽤put⽅法上传任意⽂件类型,但不允许jsp后缀⽂件上传,因此我们需要配合 windows的解析漏洞
PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp/

2.运用工具哥斯拉生成专属木马文件 上传

3.Webshell客户端⼯具进⾏连接

2. 后台弱⼝令部署war包

漏洞原理

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

环境搭建

cd vulhub-master/tomcat/tomcat8 
docker-compose up -d

漏洞利用

1 运用弱密码登录

制作WAR包

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

⽂件上传成功后,默认会在⽹站根⽬录下⽣成和war包名称⼀致得⽬录,然后⽬录中得⽊⻢就是压缩前的⽂件名webshell工具连接

1.3 CVE-2020-1938

漏洞原理

由于Tomcat AJP协议设计上的缺陷,攻击者通过Tomcat AJP Connector 可以读取或包含Tomcat上所 有 Webapp⽬录下的任意⽂件

环境搭建

cd vulhub-master/tomcat/CVE-2020-1938 
docker-compose up -d

漏洞利用

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

kali查看

python2 CVE-2020-1938.py -p 8009 -f /WEB-INF/web.xml 42.192.114.39

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构之栈(C语言)

数据结构之栈(C语言) 栈1 栈的概念与结构2 栈的初始化和销毁2.1 栈的初始化2.2 栈的销毁 3 入栈函数与出栈函数3.1 入栈函数3.2 出栈函数 4 取栈顶数据,获取数据个数 和 判空函数4.1 取栈顶数据与获取数据个数4.1.1 取栈顶数据4.1.2 获取数据…

datawhale组队学习--大语言模型—task4:Transformer架构及详细配置

第五章 模型架构 在前述章节中已经对预训练数据的准备流程(第 4 章)进行了介绍。本章主 要讨论大语言模型的模型架构选择,主要围绕 Transformer 模型(第 5.1 节)、详细 配置(第 5.2 节)、主流架…

BP神经网络+NSGAII算法(保真)

BP神经网络NSGAII算法 非常适合用来当作实验验证自己的结论,构建一个神经网络模型,并使用NSGAII多目标优化算法来实现多领域的毕业论文的设计。仅仅使用简单的matlab代码就可以实现自己的多目标优化任务。 BP神经网络算法 我的任务是预测三个变量的值…

MCU vs SoC

MCU(Microcontroller Unit,单片机)和SoC(System on Chip,片上系统)是两种不同的芯片类型,尽管它们都实现了高度集成,但在设计目标、功能复杂性和应用场景上存在显著差异。以下是两者…

3.23学习总结

字符串 String java.lang,String 类代表字符串,Java程序中所有的字符串文字都为此类的对象 字符串的内容是不会发生改变的,它的对象在创建之后不能呗更改 字符串的内存模型 当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在。 …

01测试分类

一、按照测试目标分类 1、界面测试 肉眼所看到的一切,都需要进行测试。如,按钮的点击;输入框输入文本;下拉框的选择;其它的交互等。。。 前端开发在执行开发之前需要交互/设计的同学给出设计图(以图片的…

【Git】用Git命令克隆一个远程仓库、修改仓库中的文件,并将更改推送到远程仓库

git clone ssh://gitgithub.com:2222/Mermaid28/Groove.git # SSH地址cd rfnvtoolecho "# rfnvtool" > README.md git add README.mdgit commit -m "add README" git push -u origin master 这个一系列的 Git 命令涉及到克隆一个远程仓库、修改仓库中…

关于MTU的使用(TCP/IP网络下载慢可能与此有关)

参考链接:告诉你mtu值怎么设置才能网速最好! -Win7系统之家 出现网络速度被限制,可能与MTU值相关,先查看下本机的MTU winR,然后输入:netsh interface ipv4 show subinterfaces ,查看自己网络中的MTU&…

07_GRU模型

GRU模型 双向GRU笔记:https://blog.csdn.net/weixin_44579176/article/details/146459952 概念 GRU(Gated Recurrent Unit)也称为门控循环单元,是一种改进版的RNN。与LSTM一样能够有效捕捉长序列之间的语义关联,通过引入两个&qu…

Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!

一、引言:自动化测试的“瓶颈”与MCP的革新 传统自动化测试依赖开发者手动编写脚本,不仅耗时且容易因页面动态变化失效。例如,一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑,甚至反复调试超时问题。而MCP&#xf…

网络爬虫-4:jsonpath+实战

1.jsonpath 2.通过jsonpath实战 一.Jasonpath核心符号 1)$: 含义:表示 JSON 文档的根节点。 用法:所有 JSONPath 表达式都以 $ 开头,表示从根节点开始查询。 {"store": {"book": [{"title": "Book 1&…

GD32 ARM单片机开发规范检查清单 GD32嵌入式C代码检查清单

GD32 ARM单片机开发规范检查清单 以下检查清单基于您的编程规范制定,可用于代码审查和自检过程。通过逐项检查,确保代码符合项目规范要求。 #mermaid-svg-Ye0FEIS4ZoXDXqaH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:…

求职招聘网站源码,找工作招工系统,支持H5和各种小程序

招聘找活招工平台系统源码 招聘求职找工作软件 发布信息积分充值招聘系统,里面带纤细教程 功能介绍: 招工小程序主要针对工地招工工人找工作,工地可以发布招工信息,工人可以发布找活信息,招工信息可以置顶,置顶需要积分,积分可以通过签到、分享邀请好友、充值获取,后…

《Oracle DBA入门实战:十大高频问题详解与避坑指南》

Oracle DBA 入门作业十问十答 本文为 Oracle DBA 入门作业整理,涵盖工具使用、配置管理及权限控制等核心知识点,适合新手快速上手。 如有疑问或补充,欢迎评论区交流! 1. DBA 常用工具有哪些? Oracle Universal Instal…

解决用户同时登录轮询获取用户信息错乱,使用WebSocket和Server-Sent Events (SSE)

为什么更推荐WebSocket Server-Sent Events (SSE) 是一种服务器向客户端推送数据的单向通信协议,适合某些场景,在解决用户同时登录和实时获取用户信息的问题上,WebSocket 是更好的选择。 1. SSE 的局限性 单向通信 SSE 是单向的&#xff0…

发票查验/发票验真如何用Java实现接口调用

一、什么是发票查验?发票验真接口? 输入发票基本信息发票代码、发票号码、开票日期、校验码后6位、不含税金额、含税金额,核验发票真伪。 该接口也适用于机动车、二手车销售发票、航空运输电子客票、铁路电子客票等。 二、如何用Java实现接口…

html5-qrcode前端打开摄像头扫描二维码功能

实现的效果如图所示,全屏打开并且扫描到二维码后弹窗提醒,主要就是使用html5-qrcode这个依赖库,html5-qrcode开源地址:GitHub - mebjas/html5-qrcode: A cross platform HTML5 QR code reader. See end to end implementation at:…

cpp-友元

理解 C 中的友元(Friend) 在 C 语言中,封装(Encapsulation) 是面向对象编程的重要特性之一。它允许类将数据隐藏在私有(private)或受保护(protected)成员中,…

JavaWeb基础-HTTP协议、请求协议、响应协议

一. HTTP协议 1. HTTP协议:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 2. HTTP协议特点: ① 基于TCP协议:面向链接,安全 ② 基于请求-响应模型的:一…

search_fields与filterset_fields的使用

在Django中,search_fields 和 filterset_fields 可以在视图类中使用,尤其是在 Django REST Framework (DRF) 中。它们分别用于实现搜索和过滤功能。以下是它们在视图类中的具体使用方法。 1. search_fields 在视图类中的使用 search_fields 是 DRF 中 S…