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