首页 > 编程语言 > 详细

BUUCTF | [RoarCTF 2019]Easy Java

时间:2020-08-26 12:28:52      阅读:76      评论:0      收藏:0      [点我收藏+]

知识点:

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

漏洞成因↓

通常一些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; 或者其他!

解题思路:

①打开题目,点击help,抓包

技术分享图片

②抓包后把传输方式GET修改为POST后send得到得到报错信息

技术分享图片
③根据题目提示。我们传入filename值help.docx修改为WEB-INF/web.xml点击send后我们看到了com.Wm.ctf.FlagController关键的路径

技术分享图片

根据前文:

技术分享图片
总解:由题得本题是利用漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码
payload↓
filename=WEB-INF/classes/com/wm/ctf/FlagController.class
技术分享图片

得到文件,base64:ZmxhZ3tkODc4NTI4YS0wNTNlLTQwNTItOTQxMC0xMzNjNGNkZDBkODR9Cg==解密得到flag
技术分享图片

 

BUUCTF | [RoarCTF 2019]Easy Java

原文:https://www.cnblogs.com/SpouseLJ/p/13564263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!