[RoarCTF 2019]Easy Java(java web)

2023-12-29 23:29:32
题目

页面如下

页面长得像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博客

文章来源:https://blog.csdn.net/gsumall04/article/details/135299493
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。