ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【BUUCTF】Easy Java [打印本页]

作者: 写过一篇    时间: 2024-8-13 15:22
标题: 【BUUCTF】Easy Java
【BUUCTF】Easy Java

标题来源

收录于:BUUCTF  RoarCTF 2019
标题描述

经典登录框

不过SQL注入、目录扫描都没有发现
题解

点击页面的 help

跳转到/Download路径下,但是并没有得到其他信息。
这里我们改变请求方式为 POST即可下载文件help.docx

但是打开help.docx并没有得到有用的信息

这里补充一下JAVA的知识点,以下内容搬运自:https://blog.csdn.net/wy_97/article/details/78165051
WEB-INF 是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件举行相应映射才气访问。
  1. WEB-INF主要包含以下文件或目录:
  2. /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
  3. /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
  4. /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
  5. /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
  6. /WEB-INF/database.properties:数据库配置文件
复制代码
因此我们下载文件web.xml

web.xml的内容如下
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.         version="4.0">
  6.     <welcome-file-list>
  7.         <welcome-file>Index</welcome-file>
  8.     </welcome-file-list>
  9.     <servlet>
  10.         <servlet-name>IndexController</servlet-name>
  11.         <servlet-class>com.wm.ctf.IndexController</servlet-class>
  12.     </servlet>
  13.     <servlet-mapping>
  14.         <servlet-name>IndexController</servlet-name>
  15.         <url-pattern>/Index</url-pattern>
  16.     </servlet-mapping>
  17.     <servlet>
  18.         <servlet-name>LoginController</servlet-name>
  19.         <servlet-class>com.wm.ctf.LoginController</servlet-class>
  20.     </servlet>
  21.     <servlet-mapping>
  22.         <servlet-name>LoginController</servlet-name>
  23.         <url-pattern>/Login</url-pattern>
  24.     </servlet-mapping>
  25.     <servlet>
  26.         <servlet-name>DownloadController</servlet-name>
  27.         <servlet-class>com.wm.ctf.DownloadController</servlet-class>
  28.     </servlet>
  29.     <servlet-mapping>
  30.         <servlet-name>DownloadController</servlet-name>
  31.         <url-pattern>/Download</url-pattern>
  32.     </servlet-mapping>
  33.     <servlet>
  34.         <servlet-name>FlagController</servlet-name>
  35.         <servlet-class>com.wm.ctf.FlagController</servlet-class>
  36.     </servlet>
  37.     <servlet-mapping>
  38.         <servlet-name>FlagController</servlet-name>
  39.         <url-pattern>/Flag</url-pattern>
  40.     </servlet-mapping>
  41. </web-app>
复制代码
web.xml用于映射路径(URI)和后端服务程序(servlet)。servlet 是经过编译后,后缀名为.class的文件
拿Index举例:

/Index页面对应的后端程序路径为/WEB-INF/classes/com/wm/ctf/IndexController.class
可以看到/Flag对应的路径为/WEB-INF/classes/com/wm/ctf/FlagController.class
下载该文件

该文件是编译后的JAVA程序,因此我们可以使用JAVA在线反编译网站对其反编译,得到源码

显然这是一个base64编码的字符串,解码得到flag。
总结

WEB-INF 是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件举行相应映射才气访问。
  1. WEB-INF主要包含以下文件或目录:
  2. /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
  3. /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
  4. /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
  5. /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
  6. /WEB-INF/database.properties:数据库配置文件
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4