BUUCTF——[RoarCTF 2019]Easy Java

BUUCTF------RoarCTF 2019Easy Java

1.既然是登录框嘛,不得随便输入个弱口令,进行尝试

2.使用弱口令爆破了一下,直接就是429,无果

3.查看版本信息

4.帮助文档这里测试啦任意文件读取,无果

5.知道服务器的名称是openresty

6.也没什么思路啦,直接目录扫描一波,扩充一下我的知识面,服了直接就是429

7.思路有问题,当我们打开帮助文档的时候,提示给我了信息

复制代码
java.io.FileNotFoundException:{help.docx}


压缩包里啥也没有
8.这个提示,隐藏着一个很重要的信息

WEB-INF
WEB-INF主要包含以下文件或目录:
/WEB-INF/web.xmlweb应用程序配置文件,扫描了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.这里访问找到flagclass文件,重点就是查找文件的路径

复制代码
    <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.任意文件读取,发现读取不了

相关推荐
骑士雄师10 分钟前
大模型:临时会话
开发语言·python
唐青枫17 分钟前
Java Maven 实战指南:从 POM、依赖管理到多模块构建
java
硕风和炜27 分钟前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
SamDeepThinking38 分钟前
面向对象真正管理的,不是对象,而是依赖
java·后端·程序员
努力中的编程者1 小时前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
MartinYeung51 小时前
[论文学习]SecureGate:通过令牌级门控学习何时安全地揭示PII-深度解析
学习·安全
薛定猫AI1 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
没文化的阿浩1 小时前
【C++】详解继承机制
开发语言·c++
文祐1 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
雪的季节1 小时前
OCR: windows 环境基于c++的 paddle ocr 编译【CPU版本】编译成dll ,在QT、VS中调用
开发语言