[RoarCTF 2019]Easy Java

首先万能密码登录,无法成功,也没爆出一些有用信息,点击help

到了这个页面

http://36097577-fb9c-40e5-b6ce-1f73ac1d5f96.node4.buuoj.cn:81/Download?filename=help.docx

对于这种url,可以往文件包含方向考虑。

直接burp中改get为post。

得到一些乱码,根据其中的一些字符考虑为WEB-INF/web.xml文件泄露。

漏洞发生原因

Tomcat的WEB-INF目录,每个j2ee的web应用部署文件默认包含这个目录。
Nginx在映射静态文件时,把WEB-INF目录映射进去,而又没有做Nginx的相关安全配置(或Nginx自身一些缺陷影响)。
从而导致通过Nginx访问到Tomcat的WEB-INF目录(请注意这里,是通过Nginx,而不是Tomcat访问到的,因为上面已经说到,Tomcat是禁止访问这个目录的。)。

访问此文件

[RoarCTF 2019]Easy Java

 

 

 

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.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码

构造访问目录

filename=WEB-INF/classes/com/wm/ctf/FlagController.class

得到一段base64解码拿到flag

 

[RoarCTF 2019]Easy Java

上一篇:numpy实现adabosst算法


下一篇:【LeetCode】88. 合并两个有序数组