首页 > 编程语言 >[RoarCTF 2019]Easy Java

[RoarCTF 2019]Easy Java

时间:2024-01-30 19:55:21浏览次数:33  
标签:xml web RoarCTF Java WEB 2019 文件 INF

[RoarCTF 2019]Easy Java

RIXgPkhVTu07IguM-3Mguiq5lrGSfe4bfuwZAyZaFtc

打开是一个登录页面,通过爆破得到admin/admin888为账号密码

xNOqWXlp1yD5GqUspek4EiCXvK19WH1KCkIaPGsLB1s

此时刷新页面点击下面的help发现有help.docx文件

x4FYa4_K-LdEWD-VPN52SstEajd8m0ahRBaAnLL9508

变更为POST可下载文件

2hIcw9zSX3iDqw41WR0cc-C7NnhAqCnFsTTsXU1xCW4

打开docx并未发现flag信息

02heXdx4X2_xBPPRFb-fYN9eCS56C7NXCuIscEakoVA

查看了师傅们的WP之后才知道,涉及到Java的题目,我们首先读取初始化配置信息/WEB-INF/web.xml

WEB-INF是java的WEB应用的安全目录,此外如果想在页面访问WEB-INF应用里面的文件,必须要通过web.xml进行相应的映射才能访问。
其中敏感目录举例:
/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:数据库配置文件

下载web.xml后打开

xNBusGWgUIV9deam1CCbU1NtQYXLYth8JWQ8vhJ_img

z7ASGZsNY1KE3jiG4oxJRHx-M1KD39w3p3AHGcf6Bqw

发现有个FlagController,尝试下载

filename=WEB-INF/classes/com/wm/ctf/FlagController.class

h3LgaxxxgD8pT11AkE38enpXqAB7O4Gf69CwFzB1bYI

Base64解码后得到flag

0VJxLbnSbeRJodhfhnRtEMVnyQp539BeY4t_7RC2viE

标签:xml,web,RoarCTF,Java,WEB,2019,文件,INF
From: https://www.cnblogs.com/fishjumpriver/p/17997840

相关文章

  • 2018-2019, ICPC, Asia Yokohama Regional Contest 2018
    Preface又被输出格式创飞了,E题狂暴卡1h后面发现原来输出边的时候没有按照一小一大的顺序来输出不过后面也没啥会的题了,几何、线代题做不来,对着一个四色定理题乱搞一波发现样例都过不去值得一提的是这场前期完全是顺序开题,从A一直开到EA.DigitsAreNotJustCharacters签到......
  • java打包将静态文件一起打
    java打包将静态文件一起打Java打包将静态文件一起打概述在Java开发中,我们常常需要将静态文件(如html、css、js等)一同打包到生成的jar文件中,以便于在项目部署时一并发布。本文将介绍如何实现这一过程,并提供详细的操作步骤和代码示例。流程下表展示了实现Java打包将静态文件一起......
  • Java实现Rabbitmq群发消息
    1.Rabbitmq简介RabbitMQ是一个实现了AMQP(AdvancedMessageQueuingProtocol)高级消息队列协议的消息队列服务,用Erlang语言。是面向消息的中间件。你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处。在这个比喻中,RabbitMQ是一个邮箱、邮局、邮递员......
  • 深入了解Java中的Map.size方法
    本文转载自:https://www.python100.com/html/54940.html在Java中,Map是一个非常重要和常用的数据结构,它用于存储键值对映射的集合。在Map中,size()这个方法是用来获取集合大小的,我们经常使用它来获取键值对映射的数量。但是,你知道吗?实际上,Map.size()的实现和使用也是有许多细节和注......
  • 题解 P7309 [COCI2018-2019#2] Kocka
    传送门。题意一个$N\timesN$的矩形,有从四周往内望去的第一个位置的距离,问是否存在一个矩形满足我们的观察。分析先说说我这个蒟蒻想出来的巨麻烦的方法。首先先判断最简单的矛盾,就是左右穿插,上下穿插,这是第一步。//-1变成nfor(inti=1;i<=n;++i)if(L[i]+R[i]>=n)......
  • 【Java】Java版本升级,找不到符号 问题处理
    哈喽,各位早上/中午/晚上好呀!JDK21出了也有一段时间了,有的小伙伴也按捺不住开始将项目升级到JDK21了吧。既然升级,大概多多少少都会遇到“找不到符号”的问题,英文原文是“cannotfindsymbol”。如何解决呢?以下方式不止针对于升级到JDK21,其它版本的升级配置方法相同。其实Idea......
  • Java并发基础:一文讲清util.concurrent包的作用
    java.util.concurrent包是Java中用于并发编程的重要工具集,提供了线程池、原子变量、并发集合、同步工具类、阻塞队列等一系列高级并发工具类,使用这些工具类可以极大地简化并发编程的难度,减少出错的可能性,提高程序的效率和可维护性。官方文档地址:https://docx.iamqiang.com/jd......
  • Java开发的SRM供应商、在线询价、招投标采购一体化系统源码功能解析
    前言:随着全球化和信息化的发展,企业采购管理面临越来越多的挑战。传统的采购方式往往涉及到多个繁琐的步骤,包括供应商筛选、询价、招投标等,这些过程不仅耗时,而且容易出错。为了解决这些问题,供应商、询价、招投标一体化系统应运而生。该系统通过集成供应商管理、询价管理、招投标......
  • Java 系统学习 | Springboot 数据验证
    本篇使用Springboot3框架,IDEA2022编辑器,java17版本。在上一篇的基础上进行优化添加依赖在pom.xml中添加依赖,记得更新maven<!--validation依赖--><dependency><groupId>org.springframework.boot</groupId><artifactI......
  • JAVA之浮点数的比较
    一、浮点数比较概述由于计算机内部浮点数精度的原因,使得本来应该相等的两个浮点数可能存在微小的误差,所以对于浮点数之间浮点数之间的等值判断,我们不能用==来进行比较。通常情况下,对于浮点数比较,我们通常指定一个误差范围,两个浮点数的差值在此范围之内,则认为是相等的。二、JS......