Jay17 2023.8.12日报

8.12

今天做了2题,CTFshow 红包挑战8(PHP create_function())和BUU [RoarCTF 2019]Easy Java(web.xml泄露)。

此外一直在打NepCTF,出了一题(ez_java_checkin)简单了解了java中shrio反序列化漏洞的利用。

做Nep时候顺便补充了一下文件包含的绕过方式。

image-20230812153534923

CTFshow 红包挑战8(wp现在不能放)

image-20230812213357962

NepCTF ez_java_checkin

image-20230812213515764

BUU [RoarCTF 2019]Easy Java

考点:web.xml泄露

开题是一个登录框。

image-20230812074617244

点击help跳转到/Download路由,同时返回提示(报错)。
由此我们得出/Download路由后端语言是Java,同时存在任意文件下载漏洞。

image-20230812074805631


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应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。

**漏洞检测以及利用方法:**通过找到web.xml文件,推断class文件的路径,然后读取class文件,在通过反编译class文件,得到网站源码。

一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎导致的安全问题而引入到自身的安全规范中来。

**修复漏洞方法:*修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/ { deny all; } 或者return 404; 或者其他。


我们先尝试利用任意文件下载漏洞读取Web应用程序配置文件

这里提交方式要改为POST,应该是题目原因。

filename=/WEB-INF/web.xml

成功下载。

image-20230812075134835

_WEB-INF_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>

我们重点看以下xml代码片段和前文提到的WEB-INF包含的class目录

<servlet><servlet-name>FlagController</servlet-name><servlet-class>com.wm.ctf.FlagController</servlet-class>
</servlet>
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中

所以我们读取FlagController.class文件的payload如下:

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

image-20230812075727622

用记事本打开是编译过的。

image-20230812075842038

用IDEA打开自动反编译。

image-20230812080229184

ZmxhZ3s3NWYyYmNlYS01YTJhLTQ4OTYtOGExZi02ODIwNWExMGIwYjR9Cg==
解码后
flag{75f2bcea-5a2a-4896-8a1f-68205a10b0b4}

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

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

相关文章

Kafka消息队列学习(一)

文章目录 概述核心概念生产者示例同步 / 异步发送消息生产者参数配置ack-确认机制retries - 重试次数compression_type - 消息压缩类型 分区机制分区策略 消费者消息有序性提交和偏移量偏移量提交方式手动提交 高可用设计 SpringBoot集成Kafka基本使用传递对象消息 概述 核心概…

HTTP之cookie基础学习

目录 Cookie 什么是Cookie Cookie分类 Cookie版本 Cookie工作原理 Cookie详解 创建cookie cookie编码 cookie过期时间选项 Cookie流程 Cookie使用 会话管理 个性化信息 记录用户的行为 Cookie属性 domain选项 path选项 secure选项 cookie…

带着问题学习分布式系统

写在前面 听过很多道理&#xff0c;却依然过不好这一生。 看过很多关于学习的技巧、方法&#xff0c;却没应用到自己的学习中。 随着年纪变大&#xff0c;记忆力越来越差&#xff0c;整块的时间也越来越少&#xff0c;于是&#xff0c;越来越希望能够更高效的学习。学习是一种习…

香港大学余涛组推出开源XLANG Agent!支持三种Agent模式

作者 |小戏、ZenMoore 一个新的未来又逐渐开始从理论走向现实走到我们身边了。 语言的意义在于使用&#xff0c;而从 ChatGPT 以来这些大规模语言模型的意义&#xff0c;也必然绝不止于 Chat&#xff0c;在四个月前&#xff0c;我们介绍了清华大学关于工具学习的综述《清华发布…

Python-OpenCV中的图像处理-图像特征

Python-OpenCV中的图像处理-图像特征 图像特征Harris角点检测亚像素级精度的角点检测Shi-Tomasi角点检测SIFT(Scale-Invariant Feature Transfrom)SURF(Speeded-Up Robust Features) 图像特征 特征理解特征检测特征描述 Harris角点检测 cv2.cornerHarris(img, blockSize, ks…

海格里斯HEGERLS四向穿梭车仓储解决方案在电子商务行业中的应用

随着现代物流&#xff0c;尤其是智能化物流的飞速发展&#xff0c;河北沃克金属制品有限公司看到了智能物流领域背后的巨大价值和市场空间&#xff0c;深知物流与供应链对企业发展的重要性。于是&#xff0c;引进了先进的高科技智能技术—HEGERLS四向穿梭车技术&#xff0c;并迅…

【日常积累】Linux下文件乱码解决

linux下删除乱码文件、目录 由于编码原因&#xff0c;在linux服务器上上传、创建中文文件或目录时&#xff0c;会产生乱码&#xff0c;如果想删除它&#xff0c;有时候发现用rm命令是删除不了的 这种情况下&#xff0c;用find命令可以删除乱码的文件或目录。 首先进入乱码文件…

docker 网络访问诊断

本地docker开启nginx服务等&#xff0c; 发现linux系统重启之后&#xff0c;无法访问&#xff0c; 进入容器内部&#xff0c;发现可以访问 但是容器外部&#xff0c;映射端口无法访问&#xff1b; 诊断之前&#xff0c;发现docker0没有IP绑定 rootbook:/etc/docker# ip addr …

自制手写机器人

写字机器人模拟在画图板上写字效果 写了一套写字机器人代码&#xff0c;有多种字体可供选择&#xff0c;需要的朋友私信获取代码和软件

Spring5学习笔记— 工厂高级特性

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…

创建型模式-原型模式

文章目录 一、原型模式1. 概述2. 结构3. 实现4. 案例1.5 使用场景1.6 扩展&#xff08;深克隆&#xff09; 一、原型模式 1. 概述 用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。 2. 结构 原型模式包含如下角色&#xff1a; …

微服务架构和分布式架构的区别

微服务架构和分布式架构的区别 有&#xff1a;1、含义不同&#xff1b;2、概念层面不同&#xff1b;3、解决问题不同&#xff1b;4、部署方式不同&#xff1b;5、耦合度不同。其中&#xff0c;含义不同指微服务架构是一种将一个单一应用程序开发为一组小型服务的方法&#xff…

使用windows搭建WebDAV服务,并内网穿透公网访问【无公网IP】

文章目录 1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功 1. Linux(centos8…

【Vue-Router】路由入门

路由&#xff08;Routing&#xff09;是指确定网站或应用程序中特定页面的方式。在Web开发中&#xff0c;路由用于根据URL的不同部分来确定应用程序中应该显示哪个内容。 构建前端项目 npm init vuelatest //或者 npm init vitelatest安装依赖和路由 npm install npm instal…

TCP重连 - 笔记

1 C++ TCP/IP 关于tcp断线重连的问题 C++ TCP/IP 关于tcp断线重连的问题_c++ 断线重连_Bug&猿柒。的博客-CSDN博客 2 C++基础--完善Socket C/S ,实现客户端,服务器端断开重连 https://www.cnblogs.com/kingdom_0/articles/2571727.html 3 C++实现Tcp通信(考虑客户…

ATF BL1 UFS初始化简单分析

ATF BL1 UFS初始化分析 1 ATF的下载链接2 ATF BL1 UFS 初始化简易流程图3 ATF BL1 ufs初始化简单过程分析3.1 调用过程3.2 hikey960_ufs_init3.3 dw_ufs_init3.3 ufs_init 以海思hikey960为例来介绍&#xff0c;简单介绍在ATF BL1阶段的初始化处理。 1 ATF的下载链接 https:/…

蓝帽杯 取证2022

网站取证 网站取证_1 下载附件 并解压 得到了一个文件以及一个压缩包 解压压缩包 用火绒查病毒 发现后门 打开文件路径之后 发现了一句话木马 解出flag 网站取证_2 让找数据库链接的明文密码 打开www文件找找 查看数据库配置文件/application/database.php&#xff08;CodeI…

Vue3.2+TS的父传子,子传父

这是父组件 <template><div><!-- 这个fn是子组件emit触发名&#xff0c;两边保持一致 --><Child :num"num" fn"numUp"></Child></div> </template><script setup lang"ts"> import { ref } fr…

截止到目前全量主体总数有多少?

企业主体类型 企业主体类型有很多种&#xff0c;一般我们会分为公司&#xff08;有限责任&#xff09;、合伙企业、个人独资企业、个体经营户这些类别。 今天我们按照企业&#xff0c;个体&#xff0c;组织的分类方式来看各个主体的总数。 企业&#xff1a;统一社会信用代码…

基于IP网络的存储协议——iSCSI

文章首发地址 iSCSI&#xff08;Internet Small Computer System Interface&#xff09;是一种基于IP网络的存储协议&#xff0c;它能够在TCP/IP网络上实现SCSI协议&#xff0c;使得不同的主机可以通过网络共享存储设备。iSCSI可以将存储设备映射到本地主机上&#xff0c;使得主…