WEB-INF/web.xml泄露

🍀 作者:我是一个茶壶
📌 每日一诗:
  巴山楚水凄凉地,二十三年弃置身。
  怀旧空吟闻笛赋,到乡翻似烂柯人。
  沉舟侧畔千帆过,病树前头万木春。
  今日听君歌一曲,暂凭杯酒长精神。
🎨 ps:今天谈谈WEB-INF/web.xml泄露

 WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF主要包含一下文件或目录:


/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。

/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中

/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件

/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。

/WEB-INF/database.properties:数据库配置文件

漏洞成因:

 通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。

漏洞检测以及利用方法:

 通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。

 一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/* { deny all; } 或者return 404; 或者其他!

对应题目
BUUCTF [RoarCTF 2019]Easy Java
在这里插入图片描述
 打开靶机进入链接,是这个,尝试登录失败。下面有个help的跳转链接,打开看看
在这里插入图片描述
 抓包修,更改POST的传参方式。
在这里插入图片描述
访问/WEB-INF/web.xml,发现flag相关字段。不过这个是个class类。
在这里插入图片描述

访问/WEB-INF/classes/com/wm/ctf/FlagController.class发现里面有一个base64密码,解码得到flag

flag{d0fe275b-f935-4b0d-9186-b12e006e3404}

本文为作者原创,转载请标明出处

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值