freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Tomcat样列目录session操控漏洞
蚁景科技 2018-11-15 11:39:19 930184
所属地 湖南省

原创: free雅轩 合天智汇 




友情链接:

tomcat反序列化漏洞(cve-2016-8735)

Tomcat的PUT的上传漏洞(CVE-2017-12615)

Tomcat后台弱口令上传war包漏洞复现

复现起源:

近期在项目中碰到的ApacheTomcat中间件愈来愈多,于是乎。想着做一个整理。将ApacheTomcat中间件的几大较为重要的高危漏洞做一个总结整理复现。用作来巩固更新自己的知识库。

在这里感谢公司Bearcat师傅和残忆师傅以及李师傅等指导和共享精神。

题外话:今天我们复现Tomcat样例目录session操控漏洞。在实战中也碰到过一些样例目录examples开放可以操控操控全局session的一些Tomcat。不过该漏洞挺鸡肋的。可能这里因为我们的圈子问题,听大佬说只有发布该漏洞的作者利用成功过,至今也没见过有人利用成功。原因就是后面我们要编写的三个后台登陆页面。

漏洞描述:

ApacheTomcat默认安装页面中存在examples样例目录。里面存放着Servlets、JSP、WebSocket的一些服务脚本和接口等样例。其中Servletsexamples服务样例下存在一个session的样例。该样例可以允许用户对session来进行操控。因为session是全局通用的,所以也就可以利用该样例下的session来操控管理员的session来进行会话传输操控管理员的账户进行恶意操作。

漏洞分析:

我们直接看核心代码:


图片.png

上面的这段session控制的核心代码意思说的是用户通过表单提交name和value两个参数值。然后通过request里的getParameter()函数获取name和value值。再通过session.setAttribute()函数将获取到的name和value值传递到session里面。即可以在通过前端页面去控制session值来获取管理员权限。


漏洞复现:

漏洞复现环境:

Tomcat7.0.88

JDK1.8.0_181

Burp2.0


图片.png

这里以自己本地搭建的Tomcat版本为准。也不必刻意寻找相对应的Tomcat版本。

准备好环境之后我们开始复现。

http://127.0.0.1:8080/examples/servlets/servlet/SessionExample

我们来到Examples样例目录下的servlets下的session执行按钮。

在Thefollowing data is in yoursession中我们来执行name名称和value值来获取我们需要的session会话值。下面的GETbased form

我的理解就是通过GET传值的方法来登陆。所以说这项我们就不用去关注了。


图片.png

这里我们需要三个页面来辅助我们完成这个漏洞的复现。因为在

Examples样例目录下默认是没有模拟登陆网站的页面,所以我们需要这三个页面来模拟通过操控session值来进行模拟登陆网站的后台获取管理权限。

Login.jsp:


图片.png

Index.jsp:

图片.png

Login_test.jsp:

图片.png

准备好三个页面后放置在examples样例目录下。我们就可以开始复现漏洞了。

首先我们模拟访问index.jsp页面,这时候他没有获取到admin的session值,所以代码逻辑会做一个302跳转重定向到login_test.jsp页面。


图片.png

接下来我们在样例目录下去获取并且传递admin的session。

图片.png

再进行访问index.jsp页面。这时候获取到了admin的session值。代码逻辑即输出一个登陆成功。


图片.png

接下来我们访问login.jsp页面并通过post表单的方法传递一个账户的值进去。即可发现跳转到index.jsp。到此操控session来进行绕过登陆复现完成。


图片.png

漏洞修复方案:

禁止访问或者直接删除examples样例目录下的资源。做目录访问权限设置,防止目录遍历。

参考来源:

http://blog.51cto.com/chenjc/1434858

# 合天智汇 # 合天网安
本文为 蚁景科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
渗透测试和实践
蚁景科技 LV.9
湖南蚁景科技有限公司主要从事在线教育平台技术研究及网络培训产品研发,专注网络空间安全实用型人才培养,全面提升用户动手实践能力。
  • 907 文章数
  • 675 关注者
蚁景科技荣膺双项殊荣,引领网络安全教育新潮流
2025-03-28
FlowiseAI 任意文件写入漏洞(CVE-2025–26319)
2025-03-27
路由器安全研究:D-Link DIR-823G v1.02 B05 复现与利用思路
2025-03-18