【BUUCTF】Easy Java

news/2024/9/18 0:15:15/文章来源:https://www.cnblogs.com/MrSoap/p/18356439

【BUUCTF】Easy Java

题目来源

收录于:BUUCTF  RoarCTF 2019

题目描述

经典登录框

img

不过SQL注入、目录扫描都没有发现

题解

点击页面的 help

img

跳转到/Download路径下,但是并没有得到其他信息。
这里我们改变请求方式为 POST即可下载文件help.docx

img

但是打开help.docx并没有得到有用的信息

img

这里补充一下JAVA的知识点,以下内容搬运自:https://blog.csdn.net/wy_97/article/details/78165051

WEB-INF 是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

 WEB-INF主要包含以下文件或目录:
/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

img

web.xml的内容如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><welcome-file-list><welcome-file>Index</welcome-file></welcome-file-list><servlet><servlet-name>IndexController</servlet-name><servlet-class>com.wm.ctf.IndexController</servlet-class></servlet><servlet-mapping><servlet-name>IndexController</servlet-name><url-pattern>/Index</url-pattern></servlet-mapping><servlet><servlet-name>LoginController</servlet-name><servlet-class>com.wm.ctf.LoginController</servlet-class></servlet><servlet-mapping><servlet-name>LoginController</servlet-name><url-pattern>/Login</url-pattern></servlet-mapping><servlet><servlet-name>DownloadController</servlet-name><servlet-class>com.wm.ctf.DownloadController</servlet-class></servlet><servlet-mapping><servlet-name>DownloadController</servlet-name><url-pattern>/Download</url-pattern></servlet-mapping><servlet><servlet-name>FlagController</servlet-name><servlet-class>com.wm.ctf.FlagController</servlet-class></servlet><servlet-mapping><servlet-name>FlagController</servlet-name><url-pattern>/Flag</url-pattern></servlet-mapping></web-app>

web.xml用于映射路径(URI)和后端服务程序(servlet)。servlet 是经过编译后,后缀名为.class的文件
Index举例:

img

/Index页面对应的后端程序路径为/WEB-INF/classes/com/wm/ctf/IndexController.class

可以看到/Flag对应的路径为/WEB-INF/classes/com/wm/ctf/FlagController.class

下载该文件

img

该文件是编译后的JAVA程序,因此我们可以使用JAVA在线反编译网站对其反编译,得到源码

img

显然这是一个base64编码的字符串,解码得到flag。

总结

WEB-INF 是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

 WEB-INF主要包含以下文件或目录:
/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:数据库配置文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783178.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次NoClassDeffoundEror问题解决过程

背景:在对某台计算服务器进行代码修改后,发现es查询报错,抛出异常如下: 思路:1.jar包冲突查询了对应jar的pom文件,发现只有一个es的版本jar包,不存在冲突,百思不得其解。 2.本地环境问题清理idea的缓存,发行问题仍然存在 最后翻阅资料,打了断点追踪异常抛出的地方,突…

Keras图形数据增强

在《跟着迪哥学Python数据分析与机器学习实战》这书中提到Keras图像数据增强函数ImageDataGenerator:查看官方API却发现不存在,因为现在Keras都推荐使用版本3了。但是预处理层还是保留了,此时可以使用如下一些层的函数:Resizing层,调整层。版本2对应的是https://keras.io/2.16/…

游戏安全入门-扫雷分析远程线程注入

无论学习什么,首先,我们应该有个目标,那么入门windows游戏安全,脑海中浮现出来的一个游戏 -- 扫雷,一款家喻户晓的游戏,虽然已经被大家分析的不能再透了,但是我觉得自己去分析一下还是极好的,把它作为一个小目标再好不过了。前言 无论学习什么,首先,我们应该有个目标…

线段树进阶 Part 1

线段树常见技巧,可持久化线段树,线段树合并,树套树线段树是信息学竞赛最常见的数据结构。本篇笔记总结技巧和应用,不介绍基本线段树算法。 1. 常见技巧 1.1 信息设计 用线段树解决问题,首先得考虑维护哪些信息。若不带修,任何 满足结合律且封闭 的信息(称为半群)都是可…

大气热力学(16)——风矢端图的分析方法(上篇)

注:本篇涉及超级单体的概念,因此在学习本篇教程前,建议先看《雷达气象学(9)——反射率因子图分析(强对流篇)》! 目录16.1 风矢端图的画法16.2 整体风切变(Bulk Shear)16.3 风矢端线的典型形状16.4 平均风切变(Mean Wind Shear)16.5 使用 Bunkers 技术预测风暴的移动…

距离-有这么多类

在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。本文的目的就是对常用的相似性度量作一个总结。 本文目录: 1.欧氏距离 2.曼…

解决pypi上传轮子unsupported platform tag linux_x86_64问题

对于一个纯Python的项目,从构建到发布是比较容易的。但是如果构建的轮子中含有C代码或者生成的动态链接库,那么构建发布有另外一套规则。我们需要经过manylinux平台的验证,以及动态链接库的固化等过程,还需要当心动态链接库的存放地址等信息。本文主要是提供了一个流程化的…

如何选择合适的在线文档管理工具?

国内外主流的10款在线文档管理软件对比:PingCode、Worktile、腾讯文档、石墨文档、语雀、Egnyte、Zoho Office Suite、Microsoft SharePoint、ONLYOFFICE DocSpace、DocuWare Cloud。在当今的数字化办公环境中,有效管理和分享文档变得至关重要,但找到一个既能满足功能需求又…

【深度分析】关于SPN不正确导致SQL数据库连接失败

连接SQL Server数据库时发生报错“The target principal name is incorrect. Cannot generate SSPI context”,无法连接,可能是由于AD域中记录了错误的SPN,导致无法进行身份验证而连接失败。下文通过简述Kerberos认证过程、SPN的组成,引出由SPN错误引发报错的解决方法。 Ke…

可持久化可反悔贪心

接到上级通知,贪心思路假了,紧急需要调整思路 思路假了?考虑反悔 while(思路==false){cout<<"思路假了"<<endl;思路=true;cout<<"改对了"<<endl; }Sample Output 思路假了 改对了 思路假了 改对了 思路假了 改对了 思路假了 改…

使用 navigateTo 实现灵活的路由导航

title: 使用 navigateTo 实现灵活的路由导航 date: 2024/8/13 updated: 2024/8/13 author: cmdragon excerpt: 摘要:本文详细介绍 Nuxt.js 中的 navigateTo 函数,包括基本用法、在路由中间件中使用、导航到外部 URL 和新标签页打开链接的方法,以及参数详解和注意事项,展示…