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.xml:web应用程序配置文件,扫描了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.这里访问找到flag的class文件,重点就是查找文件的路径

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

相关推荐
云和数据.ChenGuang3 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
xyouyuweizhu3 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python
代码方舟3 小时前
零信任架构实战:基于天远人企关联构建自动化供应链核心企业关联穿透与利益冲突审查网关
java·人工智能·架构·自动化
多弗朗皮卡丘4 小时前
C++的IO流
开发语言·c++·io流·文件io流
liyi_hz20084 小时前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
骑着蜗牛撵大象3274 小时前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate4 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx4 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
鬼手点金4 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
摇滚侠5 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记