题目
页面如下
页面长得像sql注入
点击help看一下
这里需要了解java web目录结构
WEB INF:Java的web应用安全目录;
此外如果想在页面访问WEB-INF应用里面的文件,必须要通过web.xml进行相应的映射才能访问;
WEB-INF是Java Web应用程序中的一个特殊目录,它位于Web应用程序的根目录下。WEB-INF目录中包含了Web应用程序的配置文件、类文件和JAR文件等。
WEB-INF目录下的主要文件和文件夹包括:
1. web.xml:这是Web应用程序的主要配置文件,定义了Servlet、过滤器、URL映射等相关配置信息。
2. classes目录:这是存放Java类文件的目录,通常用于存放Servlet类、Listener类等。
3. lib目录:这是存放Java类库(JAR文件)的目录,应用程序所需的依赖库通常放在这里。
4. jsp目录:这是存放JSP文件的目录,用于存放动态网页的源代码。
5. tags目录:这是存放自定义标签库的目录,用于扩展JSP的功能。
6. tlds目录:这是存放标签库描述文件(Tag Library Descriptor,TLD)的目录,用于描述自定义标签库的结构和行为。
由于WEB-INF目录位于Web应用程序的根目录下,并且默认情况下不允许直接访问,因此可以将一些敏感的配置文件和资源放在WEB-INF目录下,确保安全性。
总之,WEB-INF目录是Java Web应用程序中的一个特殊目录,包含了Web应用程序的配置文件、类文件和JAR文件等。它提供了一个安全的位置来存放敏感的文件和资源。
尝试直接访问/WEB-INF/web.xml,没找到文件
用post传参试一下
下载了文件
打开查找flag
servlet:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。(来源百度百科)
其实说明了这个就是JAVA源代码进行编译后所产生的后缀带有.class的东西。于是我们可以下载这个.class文件再利用反编译手段来获得flag。
则payload为
filename=/WEB-INF/classes/com/wm/ctf/FlagController.class
因为这个是类中的文件,所以后缀要加.class
打开文件发现一串base64,解码可得
文章参考链接:
buuctf-[RoarCTF 2019]Easy Java JAVA WEB目录结构-CSDN博客
【靶场练习】BUUCTF——[RoarCTF 2019]Easy Java_buu靶场-CSDN博客