1.漏洞简介CVE-2017-3066 漏洞详解CVE-2017-3066 是 Adobe ColdFusion 中的一个严重反序列化漏洞,攻击者可以通过构造恶意的 AMF(Action Message Format)请求,触发反序列化操作,从而在目标服务器上执行任意代码。以下是该漏洞的详细解析,包括漏洞原理、利用条件、影响版本及复现步骤。
1. 漏洞背景Adobe ColdFusion 是一个动态 Web 服务器,支持 CFML(ColdFusion Markup Language)脚本语言,广泛用于构建 Web 应用程序。该漏洞的核心问题在于 ColdFusion 对 AMF 请求的反序列化处理存在缺陷,导致攻击者可以通过构造恶意请求实现远程代码执行(RCE)。
2. 漏洞原理漏洞的核心在于 ColdFusion 的 AMF 反序列化机制:
AMF 协议:
AMF 是一种用于客户端与服务器之间通信的二进制协议,常用于 Flash 和 Flex 应用程序。
ColdFusion 通过 /flex2gateway/amf 端点处理 AMF 请求。
反序列化漏洞:
Cold ...
1.漏洞简介6.CVE-2022-26134 漏洞详解CVE-2022-26134 是 Atlassian Confluence 中的一个严重远程代码执行(RCE)漏洞,也称为 Confluence OGNL 注入漏洞。该漏洞允许攻击者通过构造恶意的 OGNL(Object-Graph Navigation Language)表达式,在未经身份验证的情况下远程执行任意代码。以下是该漏洞的详细解析,包括漏洞原理、利用条件、影响版本及复现步骤。
1. 漏洞背景Atlassian Confluence 是一款广泛使用的企业级 Wiki 和知识管理工具,用于团队协作和信息共享。2022 年 6 月,Atlassian 发布安全公告,披露了 Confluence Server 和 Data Center 中的一个严重漏洞(CVE-2022-26134),攻击者可以通过 OGNL 注入实现远程代码执行,危害极大。
2. CVSS V3 评分
CVSS V3 评分:9.8(高危)
3. 漏洞原理漏洞的核心在于 Confluence 对用户输入的 OGNL 表达式处理不当:
OGNL 注入:
...
1.漏洞简介CVE-2022-22947 漏洞详解CVE-2022-22947 是 Spring Cloud Gateway 中的一个严重远程代码执行(RCE)漏洞,也称为 Spring Cloud Gateway SpEL 注入漏洞。该漏洞允许攻击者通过构造恶意的请求,利用 Spring 表达式语言(SpEL)注入,在目标服务器上执行任意代码。以下是该漏洞的详细解析,包括漏洞原理、利用条件、影响版本及修复建议。
1. 漏洞背景Spring Cloud Gateway 是 Spring Cloud 生态系统中的一个 API 网关,用于为微服务架构提供路由、负载均衡、安全控制等功能。该漏洞的核心问题在于 Spring Cloud Gateway 的 Actuator 端点,当该端点被启用并暴露时,攻击者可以通过发送恶意请求触发 SpEL 表达式注入,从而实现远程代码执行。
2. 漏洞原理漏洞的核心在于 Spring Cloud Gateway 对 SpEL 表达式的处理机制:
Actuator 端点:
Spring Boot Actuator 提供了管理和监控应用程序的功能,包括 ...
1.漏洞简介CVE-2019-7609 漏洞详解CVE-2019-7609 是 Kibana 中的一个严重远程代码执行(RCE)漏洞,也称为 Kibana 原型污染漏洞。该漏洞允许攻击者通过 Kibana 的 Timelion 组件,利用 JavaScript 原型链污染技术,在目标服务器上执行任意命令。以下是该漏洞的详细解析,包括漏洞原理、利用条件、影响版本及复现步骤。
1. 漏洞背景Kibana 是 Elasticsearch 的开源数据可视化工具,广泛用于日志分析和数据展示。Timelion 是 Kibana 中的一个时间序列数据可视化组件。该漏洞的核心问题在于 Timelion 组件对用户输入的 JavaScript 代码处理不当,导致攻击者可以通过原型链污染技术实现远程代码执行。
2. 漏洞原理漏洞的核心在于 JavaScript 原型链污染:
原型链污染:
JavaScript 中的每个对象都有一个原型(__proto__),原型对象又可以有自己的原型,形成原型链。
如果程序未对原型链的读写进行严格限制,攻击者可以通过修改原型链上的属性,影响全局对象的行为。
漏 ...
1.简介
Java Reflection
反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量,构造器,成员方法等等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到
加载完类之后,在堆中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象包含了类的完整结构信息。通过这个对象得到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,形象的称之为:反射
Java程序计算器的三个阶段
2.简单案例
Cat.java
1234567891011package com.gaomu.reflection.mode;import java.io.IOException;public class Cat { private String name = "招财猫"; public void hi(){ System.out.println(name +": 汪汪!"); }}
Refl ...
1.简介
使用本地windows10系统+云服务器frp实现雾锁王国 (Enshrouded)联机服务及搭建。
本地服务器官方推荐配置6核16G
2.Win10安装steamcmd
cd C:\steamcmd
下载steamcmd
解压后,双击安装
再次双击运行下载后的steamcmd.exe,验证更新
关闭命令终端
3.下载安装服务器
官方介绍
在当前目录打开cmd
运行命令steamcmd +login anonymous +app_update 2278520 validate +quit
**cd C:\steamcmd\steamapps\common\EnshroudedServer **
双击运行enshrouded_server.exe初始化服务器
关闭命令终端,打开当前目录初始化服务器新增文件enshrouded_server.json文件,可修改服务器启动参数
12345678910{ "name": "Enshrouded Server", "password": & ...
1.docker数据卷1.1.简介
实现宿主机和容器之间的文件或者文件的同步,一般用来解决容器的持久化存储或者是宿主机和容器之间的数据共享
1.2.操作
设置数据卷
12345678910111213141516# 绝对路径$ docker run -v 数据机目录:容器目录[读写权限] 镜像名# 别名 如果不存在对应数据卷,docker将自动创建$ docker run -v 数据卷: 容器目录[读写权限] 镜像名# eg:$ docker run -d -p 80:80 -v nginx_html:/usr/share/nginx/html nginx# 查看数据卷$ docker inspect 容器id# 列出数据卷$ docker volume ls# 查看数据卷详细信息$ docker volume inspect 容器名# 创建数据卷$ docker volume create 数据卷名# 删除数据卷 rm -f强制删除,但不能删除使用中的数据卷$ docker volume rm 数据卷名
2.Dockerfile2.1.简介
dockerfile可以用来定义镜像 ...
1.安装docker engine
非ubuntu其他系统安装docker官方手册
前置
1234567891011121314# 添加Docker官方GPG密钥:sudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpg# 添加apt仓库源:echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/ ...
1.安装steamcmd
请勿使用root安装steamcmd
当前系统ubuntu 20.04 server live 64位
12345678# 请使用非root用户安装# 我的64位ubuntu系统因此需要安装其余依赖,32位ubuntu可直接安装steamcmd 命令:sudo apt install steamcmd$ sudo add-apt-repository multiverse$ sudo dpkg --add-architecture i386$ sudo apt update$ sudo apt install lib32gcc-s1 steamcmd # 添加一个快捷方式$ ln -s /usr/games/steamcmd steamcmd
其他系统安装命令
运行steamcmd
12345# 因为我们创建了快捷方式,因此直接输入命令即可启动$ steamcmd# 页面出现 steamcmd>时表示已经进入了steamcmd的命令终端# 可以使用以下命令匿名登陆$ login anonymous
2.安装PalServer专用服务器
...
网络安全
未读1.开发测试环境搭建(审计环境)1.1.开发环境
RuiYi-Vue历史版本下载地址
安装IDEA
配置Maven
安装Mysql
创建数据库ry-vue
运行下载源码中的sql
获得如下表
修改连接数据库的用户名密码、路径
启动redis
启动后端环境
运行前端环境
安装nodejs
123$ cd ruoyi-ui$ npm install # 安装node_modules依赖$ npm run dev # 启动前端开发环境
2.历史漏洞2.1.任意文件下载2.1.1.低版本(<V-3.2.0)2.1.1.1.简介
该漏洞是由于在RuoYi-Vue低版本文件下载接口 /common/download/resource 中未对输入的路径做限制,导致可下载任意文件。
2.1.1.2.代码审计(V-3.0)
接口位置
com/ruoyi/web/controller/common/CommonController.java
文件下载默认路径ruoyi-admin\ ...