Веб-сайт, который я размещаю на своем выделенном сервере, был взломан. Некоторые изображения были заражены такими вещами, как <?php eval(base64_decode(....));?>
. Я ищу общую команду оболочки, которая могла бы читать заголовки наиболее распространенных типов изображений (jpg, gif, tiff и т. Д.).
Я попытался Jhead и другие, jhead может читать только данные EXIF из JPG.
Цель состоит в том, чтобы найти все зараженные изображения следующим образом:
find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or ... \) -exec sh -c 'magicimgheadersdisplay "{}" | grep eval" \;
strings
отобразит любые печатаемые биты, найденные в файле. Оттуда вы можете накормить его grep
найти текст внутри.
grep -l
может использоваться для сообщения о зараженных файлах. Попробуйте команду вроде
find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or ... \) -print0 | xargs -0 grep -l '<?php eval(base64_decode'
В -print0
и -0
Аргументы позволяют именам файлов и путям содержать пробелы.