[RoarCTF 2019]Easy Java

Posted 春告鳥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RoarCTF 2019]Easy Java相关的知识,希望对你有一定的参考价值。

技术图片

打开环境之后是一个登录界面,账号密码可以爆破,admin/admin888,进入之后也没有什么东西

技术图片

我们查看登录界面的源代码

技术图片

猜测有任意文件下载漏洞

技术图片

get请求死活下载不了东西,换成POST就可以了,不知道为什么,此处采用hackbar进行POST传输参数

技术图片

下载了help.docx文档之后还是没有任何发现。

因为下载页面是Java页面,这里考察了java web的基础知识,这里贴上一个师傅的博客

ctf/web源码泄露及利用办法【总结中】
https://blog.csdn.net/wy_97/article/details/78165051

简单来说

 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-INF/web.xml

技术图片

下载了之后内容如图,并且里面显示了一个/Flag

读取class文件,没有java web的开发经验,所以这里只能跟着别的师傅的payload写了,应该是从web.xml里面推测出来classes下面的文件,从而进行读取对应的.class文件

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

POST下载文件

将其中的base64编码对应解码即可

技术图片

以上是关于[RoarCTF 2019]Easy Java的主要内容,如果未能解决你的问题,请参考以下文章

BUU-WEB-[RoarCTF 2019]Easy Java

[RoarCTF 2019]Easy Java

[RoarCTF 2019]Easy Java

[RoarCTF 2019]Easy Calc

[RoarCTF 2019]Easy Calc

BUU-WEB-[RoarCTF 2019]Easy Calc