WEB-INF/web.xml泄露漏洞及其利用

31 篇文章 1 订阅
7 篇文章 0 订阅

前言

之所以写这篇文章,是因为最近在做题的时候,做到了一个有关java的题目。因为对Java Web方面的开发经验很少,所以在做这道题的时候,查了一些关于Java Web相关的知识。感觉以后说不定还会用到,就以这篇文章来总结一下。

关于WEB-INF/web.xml

在了解WEB-INF/web.xml泄露之前,我们先要知道,web.xml是一个什么样的文件,以及它的泄露会出现哪些问题。
咱们先来看看WEB-INF这个文件夹
WEB-INF主要包含以下内容:

  • /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
  • /WEB-INF/classes/:包含所有的 Servlet 类和其他类文件,类文件所在的目录结构与他们的包名称匹配。
  • /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
  • /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
  • /WEB-INF/database.properties:数据库配置文件。

那么,在了解了web.xml这个文件内容之后,我们就可发现它里面所包含的信息就是敏感文件的分布情况。所以说只要我们有权限访问这个文件,我们就可以通过文件包含等手段进行敏感信息的获取。

WEB-INF/web.xml泄露及漏洞利用

WEB-INF/web.xml泄露的起因就是我们在使用网络架构的时候,对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。
下面用一道CTF的例题来具体观察(题目来源BUUCTF)
[RoarCTF 2019]Easy Java1
打开之后访问主页
在这里插入图片描述
看到可以点击help键,直接进去看看,发现有一个报错。
在这里插入图片描述
用burp抓包看一下,拿到下面的请求头。
在这里插入图片描述
看了网上的WP看到师傅们都说改用POST是正解,这样就可以拿到help了,所以改成POST,拿到help之后,发现并没有什么用。但是filename这个点可以进行文件包含,我们就可以尝试是否可以访问WEB-INF/web.xml。
在这里插入图片描述
在这里插入图片描述
可以看到的是,我们已经成功读取了WEB-INF/web.xml文件内容,并且看到了Flag的所在,由刚才我们所提到的WEB-INF下的文件夹分布我们知道,所有的class文件都被放在了classes文件夹下。
所以,改包重新发。
在这里插入图片描述
在这里插入图片描述
里面那个base64字符串解码之后就是flag。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值