BUUCTF--[RoarCTF 2019]Easy Java

题目很简单,需要记点新东西

打开这个靶场,可以看到这个界面,很像用SQL注入的那种,但是不行,我们查看网页源代码,看看有没有,其他的信息

可以看到下面有一个链接,这个是登录界面那个help的,点开看一下

我们可以看到一个关键参数filename和路径Download,也就是这个地方我们需要知道一点新东西,是关于java--WEB-INF 目录泄露的,他将与下载漏洞相结合。

我门要访问的就是WEB-INF/web.xml ,这个目录作用就是应用程序部署描述文件 ,他前面WEB-INF这个目录的作用是**核心配置与类文件目录,**这两个文件是无法直接访问的。

通过download这个路径,这个download这个路径就是他留给我们的后门,因为开发者没有做任何的限制,而利用传参的参数是filename

那么接下来就要去下载WEB-INF/web.xml 文件找到下一步的信息,这里我们需要利用post请求,直接get会被拦截。我们利用burp抓包修改

这里一定要加Content-Type: application/x-www-form-urlencoded

改 POST 请求时,只改请求方法不补这个头,服务器直接无视 Body 参数

可以看到我们下载到了WEB-INF/web.xml文件,打开看看

往下看可以看到重要信息FlagController

根据 Java 类文件存储规则,包路径com.wm.ctf对应文件系统路径com/wm/ctf/

由此我们构建最终payload

html 复制代码
filename=/WEB-INF/classes/com/wm/ctf/FlagController.class

服务器上只存 .class 文件,不存 .java 源码, 想拿到代码,必须下载 .class,再反编译回源码

我们将下载好的文件用记事本打开,可以看到一串base64编码

解码的到最终flag

flag{8b4a56a3-cb96-4e50-89eb-72c3d9df9b55}

相关推荐
何中应1 小时前
Nexus如何设置端口号
java·服务器·maven·nexus
网络研究院1 小时前
中国网络安全与数据保护领域政策与执法动态回顾(2026年5月)
网络安全·数据保护·执法·政策·回顾
思麟呀1 小时前
C++11并发编程:条件变量
java·linux·jvm·c++·windows
Full Stack Developme1 小时前
Hutool CollUtil 教程
java·开发语言·windows·python
我是一颗柠檬1 小时前
【Java项目技术亮点】Kafka异步写+写聚合:吞吐量提升10倍的消息队列优化秘籍
java·分布式·kafka·linq
摇滚侠1 小时前
git ignore 忽略 .idea 目录 全新项目(尚未提交过 .idea).idea 已经被 Git 跟踪(已提交过)
java·git·intellij-idea
linge_sun1 小时前
SpringAI SQL 智能助手实战:用自然语言查询数据库
java·人工智能·ai编程
熟悉的新风景1 小时前
maven常用依赖
java·maven
light blue bird1 小时前
3C 数码电子BOM 协同工作台组件
java·开发语言·jvm·windows·.net·桌面端
我是一颗柠檬1 小时前
【Redis】Redis分布式锁Day13(2026年)
java·redis·分布式·缓存