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}

相关推荐
贫民窟的勇敢爷们8 小时前
SpringBoot整合AOP切面编程实战,实现日志统一记录+接口权限校验
java·spring boot·spring
AC赳赳老秦9 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
迈巴赫车主9 小时前
Java基础:list、set、map一遍过
java·开发语言
灵犀学长10 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
好家伙VCC11 小时前
【无标题】
java
小碗羊肉12 小时前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医12 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong12 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
hexu_blog13 小时前
vue+java实现图片批量压缩
java·前端·vue.js
头歌实践平台13 小时前
Hadoop开发环境搭建
java·大数据·hadoop