[RoarCTF 2019]Easy Java(java web)

题目

[RoarCTF 2019]Easy Java(java web)_第1张图片

页面如下

[RoarCTF 2019]Easy Java(java web)_第2张图片

页面长得像sql注入

点击help看一下

[RoarCTF 2019]Easy Java(java web)_第3张图片

这里需要了解java web目录结构

[RoarCTF 2019]Easy Java(java web)_第4张图片

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,没找到文件

[RoarCTF 2019]Easy Java(java web)_第5张图片

用post传参试一下

[RoarCTF 2019]Easy Java(java web)_第6张图片[RoarCTF 2019]Easy Java(java web)_第7张图片

下载了文件

打开查找flag

[RoarCTF 2019]Easy Java(java web)_第8张图片

servlet:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。(来源百度百科)
其实说明了这个就是JAVA源代码进行编译后所产生的后缀带有.class的东西。于是我们可以下载这个.class文件再利用反编译手段来获得flag。
则payload为

filename=/WEB-INF/classes/com/wm/ctf/FlagController.class

因为这个是类中的文件,所以后缀要加.class

[RoarCTF 2019]Easy Java(java web)_第9张图片

打开文件发现一串base64,解码可得

[RoarCTF 2019]Easy Java(java web)_第10张图片

[RoarCTF 2019]Easy Java(java web)_第11张图片

文章参考链接:
buuctf-[RoarCTF 2019]Easy Java JAVA WEB目录结构-CSDN博客

【靶场练习】BUUCTF——[RoarCTF 2019]Easy Java_buu靶场-CSDN博客

你可能感兴趣的:(BUUCTF-WEB,java,开发语言,网络安全,web安全)