Ищем команду оболочки для чтения недвоичной части наиболее распространенных типов изображений
Веб-сайт, который я размещаю на своем выделенном сервере, был взломан. Некоторые картинки были заражены такими вещами, как <?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" \;
2 ответа
Решение
grep -l
может использоваться для сообщения о зараженных файлах. Попробуйте команду как
find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or ... \) -print0 | xargs -0 grep -l '<?php eval(base64_decode'
-print0
а также -0
Аргументы позволяют именам файлов и путям содержать пробелы.
strings
отобразит любые печатаемые биты, найденные в файле. Оттуда вы можете кормить его в grep
найти текст внутри.