Есть ли способ для меня, чтобы найти PHP-скрипт, который отправляет электронные письма.
У меня есть apache + php (без mod_suphp и suexec) в «стандартной» установке, и я хочу узнать, что php-скрипт ведьмы отправляет электронные письма, когда я проверяю логи, я просто вижу uid пользователя, отправляющего электронные письма (в мой случай apache) но я хочу выяснить сценарий, который создал письмо.
Это возможно, или я должен установить suexec или mod_suphp, чтобы отслеживать это?
Спасибо за помощь.
источник
Решение этого на самом деле требует нескольких шагов. Приведенное выше решение labradort на самом деле не работает, так как скрипт logger - это скрипт bash, а не php, а скрипт bash не имеет доступа к переменным php, поэтому журналы выходят пустыми. По сути, все, что вы хотите зарегистрировать, необходимо сохранить в переменных среды в php до отправки электронного письма, чтобы регистратор имел доступ к данным. Поскольку вы пытаетесь обнаружить сценарии других пользователей, не обязательно ваши собственные, вы не можете контролировать код php, поэтому вам нужно использовать функцию PHP auto_prepend_file, чтобы гарантировать, что все исполняемые php запускают ваш код инициализации перед всем остальным. Я добавил следующий код через php.ini, чтобы убедиться, что у меня есть данные, которые мне нужны в логгере:
Я собрал полное руководство о том, как заставить это работать здесь: http://mcquarrie.com.au/wordpress/2012/10/tracking-down-malicious-php-spam-scripts/
источник
Существует патч для PHP, который показывает, какой скрипт генерирует электронные письма, добавляя заголовок к отправляемому письму. Я не проверял это, так как я не увлечен исправлением ядра PHP, но я слышал хорошие вещи.
источник
Вам нужно будет найти в журналах доступа что-то, соответствующее времени, когда сообщения были добавлены в спул.
источник
Может быть, просто искать в исходных файлах подстроку «mail (»)?
источник
Просто включите их на своем php.ini
затем создайте этот файл и дайте разрешение на запись. Посмотрите на это после этого.
источник