CVE-2025-24813 Tomcat 任意文件上传 JSESSION反序列化漏洞 RCE复现概述Tomcat 是一个开源的、轻量级的 Web 应用服务器 和 Servlet 容器。它由 Apache 软件基金会下的 Jakarta 项目开发,是目前最流行的 Java Web 服务器之一。该漏洞利用条件较为复杂,需同时满足以下四个条件:
应用程序启用了DefaultServlet写入功能,该功能默认关闭
应用支持了 partial PUT 请求,能够将恶意的序列化数据写入到会话文件中,该功能默认开启
应用使用了 Tomcat 的文件会话持久化并且使用了默认的会话存储位置,需要额外配置
应用中包含一个存在反序列化漏洞的库,比如存在于类路径下的 commons-collections,此条件取决于业务实现是否依赖存在反序列化利用链的库
影响版本
9.0.0.M1 <= tomcat <= 9.0.98
10.1.0-M1 <= tomcat <= 10.1.34
11.0.0-M1 <= tomcat ...
FastJson反序列化漏洞复现
写点人能看懂的,今天来看看FastJson
概述Fastjson是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Object序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 Java Object.
Fastjson 提供了两个主要接口来分别实现对于Java Object的序列化和反序列化操作。
JSON.toJSONString
JSON.parseObject/JSON.parse
对于Fastjson来讲,并不是所有的Java对象都能被转为JSON,只有Java Bean格式的对象才能Fastjson被转为JSON。
Java Bean是啥🤔?JavaBean 是一种特殊的 Java 类,它符合一组标准的命名和设计规则,旨在便于使用和集成在各种 Java 应用程序中,尤其是在图形化界面构建工具和框架中。JavaBean 最常用于数据传输对象 (DTO),通常作为简单的容器类,用于封装和传递数据。
一般来说我们的Java Bean要有一个无参构造函数和一些私有的成员变量,附加一些公 ...
算法训练I-简单
挑了一些简单的算法题来做一些回顾,主要是LeetCode上面的Easy难度,各方面都有
主要使用Python来写算法
1. 两数之和
比较笼统的能想到的两次循环,算法复杂度为O(n^2)
i按序遍历每一个元素,j从i位置往后按序遍历每个元素,计算和并比较,找出对应的i和就、
123456789101112class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ for i in range(len(nums)): for j in range(i+1,len(nums)): if nums[i]+nums[j]==target: return i, ...
YAML字段的含义和作用每个 Kubernetes YAML 文件都必须包含这四个顶级字段:
12345678apiVersion: v1 # Kubernetes API 版本kind: Pod # 资源类型metadata: # 元数据 name: nginx-pod # 资源名称spec: # 资源规格说明 containers: # 容器配置 - name: nginx # 容器名称 image: nginx:1.14.2 # 容器镜像
使用 --- 分隔符可以在一个文件中定义多个资源:
123456789101112131415apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 3 # ... 部署配置---apiVersion: v1kind: Servicemetadata: name: nginx-servicespe ...
什么是K8s(kubernetes)?k8s 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由 Google 开发,现由 Cloud Native Computing Foundation(CNCF)维护。k8s 的目标是简化应用程序的部署和管理,提供弹性、可扩展、高可用的服务。
k8s 基于容器技术,如 docker,作为应用程序的基本构建块。容器是一种轻量级的虚拟化技术,可以将应用程序及其依赖项打包到一个独立的、可移植的运行环境中。通过使用容器,开发者可以将应用程序与其运行环境隔离开来,并实现快速部署和跨平台运行。
k8s 提供了一套丰富的功能,用于管理容器化应用的生命周期。
K8s 的核心概念它的核心概念包括:
Pod:Pod 是 k8s 管理的最小调度单位,它可以包含一个或多个容器,并共享网络和存储资源。Pod 提供了容器之间的通信和协作。
Deployment:Deployment 定义了应用程序的期望状态,并负责创建和管理 Pod 的副本。它支持滚动更新、回滚和扩缩容等操作。
Service:Service 定义了一组 Pod 的访问方式和网络 ...
Web Security
未读Java Springboot 快速入门在IDEA里面选择Spring Initializr 创建一个全新的Spring项目
安装依赖,Spring Web必选,用来实现Web服务,其他根据开发需求加,后面也能选
初始化完之后的项目结构如下
好的,上面的SpringDemoApplication就是我们的主启动类,我们要依照分层架构来创建各种层.
一个典型的Java Springboot应用大概会有Controller Service Model Repository Config 等层级.
一个典型的请求处理流程是:
Controller层接收HTTP请求
Controller调用Service层进行业务处理
Service层使用Repository层访问数据
Repository层操作Entity/Model对象
处理结果沿着调用链返回给客户端
我们来写一个简单的Controller:
1234567891011121314151617package com.demo.spring_demo.controller;import org.springframe ...
CISCN-初赛Safe_Proxy123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106from flask import Flask, request, render_template_stringimport socketimport threadingimport htmlapp = Flask(__name__)@app.route('/', methods=["GET"])def source(): with open(__file__, 'r', encoding='utf-8') as f: return ...
前置操作假设我们现在已经完成了对一个服务器的外部打点和控制,现在需要进一步对内网环境发动攻击,我们需要利用代理进行内网渗透,那么首先我们需要搭建一个代理服务器,这里我们选择使用Neo-reGeorg来搭建一个简单的内网代理服务.
Socks5协议介绍Socks5是一种网络传输协议,主要用于客户端与服务器之间的通信,它提供了一种安全、高效的通信方式,可以用于代理、VPN等场景。Socks5协议支持多种身份验证方式,包括无验证、用户名/密码验证等,并且支持多种协议,包括TCP、UDP等。
代理原理本质上其实是建立网络隧道,并通过隧道进行数据传输,将外网流量转发到内网,从而实现内网服务的访问.
正向代理正向代理是代理服务器位于客户端和目标服务器之间的,客户端向代理服务器发送请求,代理服务器将请求转发给目标服务器,并将目标服务器的响应返回给客户端。正向代理通常用于访问被限制的网站,或者隐藏客户端的真实IP地址。
正向代理原理图
反向代理反向代理是代理服务器位于目标服务器和客户端之间的,客户端向目标服务器发送请求,目标服务器将请求转发给代理服务器,并将代理服务器的响应返回给客户端。反 ...
漏洞复现
未读漏洞分析在Markdown预览iframe中,Joplin仅在相同的Electron窗口中打开包含data-from-md属性的内部链接。虽然Joplin成功地对用户从.md文件嵌入的<a>链接中的“data-from-md”属性进行了净化,以防止执行不可信的HTML内容,但它未能净化由Mermaid引入的<a>标签(例如下面的代码片段)中的“data-from-md”属性。由于Mermaid允许渲染某些无脚本的HTML元素,攻击者可以嵌入带有“data-from-md”属性的<a>标签,这些标签将在相同的Electron窗口中被内部打开。此外,Joplin以nodeIntegration=true和contextIsolation=false的方式打开窗口,导致在打开的窗口中运行的任何脚本都可完全访问Node.jsAPI。此外,Markdown预览iframe与父元素共享相同的源(即本地文件系统),并且不包含sandbox属性,允许在iframe中运行的脚本通过window.parent调用Node.js API。因此,攻击者可 ...
2024-省赛决赛遇到了两位很强大的队友,有幸拿到了省一.(题目出的很好,下次不要再出了)
作为web手的我在做题的过程中其实还是遇到了不少阻力,包括但不限于不出网、模块不熟悉、对PHP部分了解比较生疏导致的.
Web消失的第一题(?)第一道是什么已经不重要了,全场唯一血+限制登录+黑盒已经让这道题目失去了原本的考察意义🤔,随他去吧
记得限制了登录用户密码长度不能超过9位,尝试超过一定次数会封1个小时不能打,注释里面写了sleep出现会被替换成NULL,看不懂
赛后交流了一下听说是弱密码?反正挺抽象一题
wucanrce12345678910111213141516171819<?phpecho "get只接受code欧,flag在上一级目录<br>";$filename = __FILE__;highlight_file($filename);if(isset($_GET['code'])){ echo($_GET['code']); if (!preg_match('/s ...