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}

相关推荐
风尘小子12 小时前
java静态类使用@Value动态绑定环境变量
java
重生之后端学习13 小时前
239. 滑动窗口最大值[困难]✅
java·数据结构·算法·leetcode·职场和发展
脉动数据行情113 小时前
Java SpringBoot 对接知名台股 TWSE|批量采集上市股票行情实践
java·开发语言·spring boot
她的男孩13 小时前
我把管理系统接给AI,它改条数据都要先问我
java·后端·架构
toolsmith13 小时前
我用AI拆解了Charles的授权机制,发现密钥被写死在了代码里
java·人工智能
IKUN家族13 小时前
SpringBoot日志
java·开发语言
DianSan_ERP14 小时前
WMS接入电商平台自动化履约实战:一张订单从平台到出库的接口时序设计
java·前端·网络·数据库·安全·架构·自动化
数据知道14 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
liangsheng_g14 小时前
微服务本地开发零配置隔离方案
java·微服务·架构
不服老的小黑哥14 小时前
六、集合处理(collections.md)
java