BUUCTF——[RoarCTF 2019]Easy Java
1.既然是登录框嘛,不得随便输入个弱口令,进行尝试
2.使用弱口令爆破了一下,直接就是429
,无果
3.查看版本信息
4.帮助文档这里测试啦任意文件读取,无果
5.知道服务器的名称是openresty
6.也没什么思路啦,直接目录扫描一波,扩充一下我的知识面,服了直接就是429
7.思路有问题,当我们打开帮助文档的时候,提示给我了信息
java.io.FileNotFoundException:{help.docx}
压缩包里啥也没有
8.这个提示,隐藏着一个很重要的信息
WEB-INF
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
:数据库配置文件
9.需要注意的是,使用的请求方式POST
方式,访问/WEB-INF/web.xml
,返回包中查找flag
10.这里访问找到flag
的class
文件,重点就是查找文件的路径
<servlet>
<servlet-name>FlagController</servlet-name>
<servlet-class>com.wm.ctf.FlagController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FlagController</servlet-name>
<url-pattern>/Flag</url-pattern>
/com/wm/ctf/FlagController
11.直接尝试拼接
/WEB-INF/classes/com/wm/ctf/FlagController.class
12.回显的数据包中有一段base64
编码,直接进行解码得到flag
flag{3f8a91d6-875c-4c82-8543-d2b310024bbc}
13.前面不是说通过WEB-INF
可以读取数据库的配置文件,直接尝试一波,发现读取不了
14.任意文件读取,发现读取不了