[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编码对应解码即可

posted @ 2020-01-10 17:03  春告鳥  阅读(2566)  评论(0编辑  收藏  举报