База взломана снова и снова; уже почистил сайт для SQL инъекций

У меня есть клиент, который попросил меня попробовать и проанализировать сайт на предмет уязвимости.

То, что происходит, примерно каждые выходные в поле одной записи одной таблицы в базе данных каждый раз меняется на одно и то же. Из Jewelry в Jewelery <a href="http://[**REMOVED-FOR-SF**]/viewPress?press_id=407">[**REMOVED-FOR-SF**]</a><a href="http://[**REMOVED-FOR-SF**]/[**REMOVED-FOR-SF**].html">[**REMOVED-FOR-SF**]</a>, Тот факт, что это всегда одна и та же запись, заставляет меня думать, что это какой-то автоматический сценарий, но если это так, я не могу его найти.

Следующее было достигнуто:

  • Исправлены уязвимости в SQL-инъекциях.
  • Запрещено выполнение PHP в 777 каталогах
  • Изменял пароль базы данных после каждого исправления
  • Изменяли пароль CMS после каждого исправления

Какой следующий шаг?

6 ответов

Решение

Злоумышленнику, скорее всего, не нужно знать пароль, чтобы выполнить изменение - вот как бы я его назвал:

Найдите оболочку функции запроса для вашей CMS и обновите ее, чтобы записывать в файл и / или отправлять электронную почту всякий раз, когда регулярное выражение в строке запроса совпадает с вашей строкой спама - включите в себя все соответствующие переменные сервера и CMS, которые могут помочь определить источник проблемы.

Обратите внимание, что вы можете вызвать debug_backtrace() в PHP 4.3+, чтобы изолировать включаемые файлы, если это может быть работой вредоносного плагина.

Вероятно, оставшаяся инъекционная атака - можете ли вы настроить триггер БД, чтобы сообщить, когда запись снова изменится? Затем соотнес это с логами вашего веб-сервера - должно сразу привести к виновнику.

Также убедитесь, что вы регистрируете столько, сколько сможете (рефералы и т. Д.)

Вы можете настроить modsecurity и добавить правило для регистрации данных POST всякий раз, когда он видит версию с ошибкой. Если это кто-то редактирует, или SQL-инъекция должна быть зарегистрирована.

Вы уже смотрели на сервер SQL? Возможно, там запущен скрипт или настроена какая-то процедура для обновления, которое было сделано по уважительной причине (или даже просто в целях тестирования) и с тех пор было забыто, но все еще срабатывает. Вероятно, имеет некоторые жестко закодированные значения, такие как эта опечатка.

Насколько сильно загружен сайт? Возможно, захват пакета мог бы быть вариантом, показывая вам все, что пришло из внешнего мира, когда это изменилось. Это, по крайней мере, даст вам знать, если что-то внутри сервера меняет вещи или где ваша уязвимость.

Вы установили генератор ссылок в вашей CMS? Некоторые сайты автоматически создают ссылки для создания блога. Это похоже на то же самое. Проверьте расширения вашей CMS и посмотрите, есть ли что-то там.

Другие вопросы по тегам