[RoarCTF 2019]Easy Java

0x00:写在前面

首先这道题目,很简单(hh 当然是看完大佬wp才觉得简单的-_-)

考查了几个知识点:

对于Tomcat的文件目录的认识

CTF中的套路,比如修改请求方式。反正都试试嘛

下面是截取一位博主的,直接拿来用了。

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文件,得到网站源码

 漏洞成因

 

0x01:开始做题

首先存在一个弱口令:admin/admin888

登入以后发现没啥用

 

 看了看 也不是注入

发现有个help按钮,进行点击

得到这个路径:http://0b41d3fa-4032-4c13-b20c-6ca99cd43ebc.node3.buuoj.cn/Download?filename=help.docx

 

 页面回显如上,肯定不正常啦,那么此时靠经验,修改请求方式,成功下载文件

修改filename查看WEB-INF/web.xml

 

 得到如右图所示的java路由

然后看到

 

 访问/Flag 500报错,然后得到网站目录

 

 进而继续burp请求得到FlagController.class的代码

里面有段base64编码的就是flag

posted @ 2020-05-14 12:42  Tkitn  阅读(298)  评论(0编辑  收藏  举报