常见web中间件漏洞(四)Tomcat漏洞
这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取。。。整理完
前几篇指路链接:
nginx:
https://www.cnblogs.com/lcxblogs/p/13596239.html
Apache:
https://www.cnblogs.com/lcxblogs/p/13588664.html
IIS:
https://www.cnblogs.com/lcxblogs/p/13539558.html
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
安装不介绍了,两种方法都可以,教程参考:https://www.cnblogs.com/dekevin/p/12261904.html、https://www.cnblogs.com/jingmoxukong/p/8258837.html
使用功能参考:https://blog.csdn.net/chaogu94/article/details/107292921
(可通过kill掉进程中的tomcat.exe强制关闭)
1.Tomcat任意文件写入漏洞(CVE-2017-12615)
Apache Tomcat 7.0.0 - 7.0.81受到影响
conf下的web.xml正常来说是这样
但是如果是这样
存在readonly为false,表示允许PUT与DELETE请求,就会造成此漏洞
即:当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false,如果是true的话,那么PUT和DELETE方法是被拒绝的,因此如果手动将readonly选项开启为false,那么就能够通过PUT请求方法上传文件了),攻击者可通过构造攻击请求向服务器上传 JSP 木马
比较常规的一个利用思路是:访问tomcat主页抓包,先把GET请求方式改成OPTIONS请求方式,看返回包有没有不安全的方法(PUT DELETE。。。)
如果有,搞一波
可以把GET请求改成PUT、添加文件名、加文件内容
注意,如果像下面这种/1.jsp请求是不行的,会因为处理不了而404
PUT /1.jsp HTTP/1.1
Host: 192.168.xxx.xxx:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 57
马马马马。。。。
必须要进行绕过,可以尝试如下两种方式
/1.jsp/
/1.jsp%20
然后访问马或者脚本实现目的
复现过程参考:https://www.freebuf.com/articles/web/258907.html
https://blog.csdn.net/zy15667076526/article/details/109958388
所以不要这么配置
2.Tomcat 远程代码执行(CVE-2019-0232)
影响9.0.0.M1 ~ 9.0.17, 8.5.0 ~ 8.5.39 , 7.0.0 ~ 7.0.93版本的Windows系统下的tomcat
还是web.xml中
变为
接着在conf/context.xml 中的<Context>添加privileged="true"语句
webapps\ROOT\WEB-INF下创建一个cgi-bin文件夹,并在文件夹内创建一个bat文件写入
@echo off
echo Content-Type: text/plain
echo.
set off=%~1
%off%
只是举个例子,实际上写啥都行,只要可以执行,实现目标
然后访问这个bat文件附加命令可执行某某命令,例如
http://127.0.0.1:8080/cgi-bin/xxxxxx.bat?c:/windows/system32/ipconfig
http://127.0.0.1:8080/cgi-bin/xxxxxx.bat?c:/windows/system32/net+user
复现参考:https://blog.csdn.net/weixin_43806577/article/details/100094722
https://blog.csdn.net/xuandao_ahfengren/article/details/106982504
https://www.jianshu.com/p/3fcd2f3f6ba4
想要利用成功,条件比较苛刻
3.Tomcat + 弱口令 && 后台getshell漏洞
正常来说tomcat-users.xml是这样的
如果允许远程登录,需要修改配置,加一段,参考:https://www.cnblogs.com/wangjiming/p/12492764.html
<tomcat-users>
<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后台(比如我的用户名密码都是admin),默认路径就是manager/html(我这里改了端口号,不做特殊说明),访问此路径弱口令进入后台
然后发现允许上传WAR文件
Javaweb工程大多打包成WAR包,便于管理且tomcat可以自动识别
所以我们的思路就是把jsp马打包成WAR
以管理员模式运行cmd生成WAR:jar -cvf lcx.war lcx.jsp
然后通过“要部署的WAR文件”把WAR包传上去
WAR自行解压
之后访问马子
所以弱口令不能有(可以通过抓包解码爆破),且需要设置conf/tomcat-users.xml中目录页面的访问限制,或者改掉manage/html
复现参考:https://www.cnblogs.com/bmjoker/p/9892653.html
https://www.cnblogs.com/mke2fs/p/12718669.html
https://my.oschina.net/u/3076320/blog/4345568
未经允许,禁止转载
常见web中间件漏洞(四)Tomcat漏洞的更多相关文章
- 常见web中间件漏洞(一)IIS漏洞
web中间件作为web安全的重要一块,经常会有人问balabala,虽然有很多已经人尽皆知并且基本不再构成威胁了,但是还是有必要说一下,了解历史,了解我们从哪里来 鉴于内容实在是太多,本来打算一起写完 ...
- 几种常见web 容器比较 (tomcat、 jboss 、resin、 weblogic、 websphere、 glassfish)(转)
点击打开PDF下载链接 web 容器比较 tomcat jboss resin weblogic websphere glassfish 1. Tomcat是Apache鼎力支持的Java Web应用 ...
- 常见web中间件漏洞(五)weblogic漏洞
继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...
- 常见web中间件漏洞(三)Nginx漏洞
nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有 开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...
- 常见web中间件漏洞(二)Apache漏洞
Apache(总联想到武直那个)是最常见,使用人数最多的一款web服务器软件.跨平台,多扩展,开源,用过的人都说好 Apache的漏洞主要集中在解析漏洞这一块 1.未知扩展名解析漏洞 Apache的一 ...
- Java Web中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
- Web中间件 - 常见漏洞总结
*文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...
- Web中间件常见漏洞总结
一.IIS中间组件: 1.PUT漏洞 2.短文件名猜解 3.远程代码执行 4.解析漏洞 二.Apache中间组件: 1.解析漏洞 2.目录遍历 三.Nginx中间组件: 1.文件解析 2.目录遍历 3 ...
- 常见WEB开发安全漏洞 原因分析及解决
目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...
随机推荐
- SpringMVC(1)流程框架总体介绍
SpringMVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能MVC 模块,其功能和Strtus2 ...
- kafka、rabbitmq、redis区别,各自适合什么场景?
在应用场景方面 RabbitMQ RabbitMQ遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上,适合企业级的消息发送订阅,也是比较受到大家欢迎的. ...
- Netty实现对Websocket的支持
一.WebSocket的简介及优势 WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准.WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的 ...
- ESP32的Flash加密知识
一.Flash 加密功能用于加密与 ESP32-S2 搭载使用的 SPI Flash 中的内容.启用 Flash 加密功能后,物理读取 SPI Flash 便无法恢复大部分 Flash 内容.通过明文 ...
- 谷粒商城--分布式基础篇(P1~P27)
谷粒商城--分布式基础篇P1~P27 去年3月份谷粒商城分布式基础.进阶.高级刚出的时候就开始学了,但是中途因为一些事就中断了,结果一直到现在才有时间重新开始学,看到现在网上这么多人都学完了,确实感觉 ...
- CTF-OldDriver-writeup
题目信息: 有个年轻人得到了一份密文,身为老司机的你能帮他看看么? 附件:enc.txt [{"c": 73660675747411714617220651332429160804 ...
- IDA 修改后保存
关键点找到了.把 jz short loc_10004753 改成jnz short loc_10004753即可. IDA->edit->Patch program->Assemb ...
- 深度学习之逻辑回归的实现 -- sigmoid
1 什么是逻辑回归 1.1逻辑回归与线性回归的区别: 线性回归预测的是一个连续的值,不论是单变量还是多变量(比如多层感知器),他都返回的是一个连续的值,放在图中就是条连续的曲线,他常用来表示的数学方法 ...
- 【有奖互动】HMS Core. Sparkle游戏应用创新沙龙,诚邀您参与
活动简介 随着互联网基础设施的完善和"宅经济"效应凸显,游戏行业逆势上扬,迎来巨大消费市场.同时,用户需求愈加多样化,如何进一步创新和技术升级.提升核心竞争力已成为游戏开发与运营的 ...
- 微信小程序云开发-数据库-商品列表数据排序
一.wxml添加升序和降序 在商品列表的wxml文件中添加超链接a标签,分别用于升序和降序的点击.分别绑定升序和降序的点击事件. 二.js文件实现升序和降序 分别写对应的按价格升序函数sortByPr ...