寻找shell命令来读取最常见图像types的非二进制部分

我在专用服务器上托pipe的网站已被黑客入侵。 一些图片已经被感染了像<?php eval(base64_decode(....));?> 。 我正在寻找一个通用的shell命令,可以读取最常见的图像types(jpg,gif,tiff等)的标题。

我尝试了jhead和其他人,只能从JPG读取EXIF数据。

目标是find像这样的所有感染的图像:

 find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or ... \) -exec sh -c 'magicimgheadersdisplay "{}" | grep eval" \; 

grep -l可以用来报告被感染的文件。 尝试一个类似的命令

 find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or ... \) -print0 | xargs -0 grep -l '<?php eval(base64_decode' 

-print0-0参数允许文件名和path包含空格。

strings将显示它在文件中find的任何可打印位。 从那里你可以喂它成grepfind内的文字。