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}

相关推荐
考虑考虑11 小时前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫12 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev12 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev12 小时前
EventBus → SharedFlow
android·java·kotlin
带刺的坐椅12 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
用户37215742613512 小时前
Java 将一个 PPT 文档拆分为多个文件
java
人活一口气1 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还1 天前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端
NE_STOP1 天前
vibe Coding -- 小项目实战
java
未秃头的程序猿1 天前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试