[RoarCTF 2019]Easy Java

访问后为一个登录页面,admin admin888弱密码成功登录,但是里面没有可用信息,在登录框下方有一个help按钮,点了之后显示java.io.FileNotFoundException:{help.docx},此处尝试修改GET请求为POST请求,发现读取成功:

查看WEB-INF/web.xml,得到Flag文件的servlet-class值:

查看该class文件,得到一段base64,解码即为flag:

相关知识点:

1
2
3
4
5
6
7
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文件,得到网站源码。