Вы должны знать это сейчас:
Мы видим это в Linode немного, и это указывает на то, что ваш сервер был взломан злоумышленником. В противном случае это может быть эксплойт браузера, который заразит ваших пользователей, или ссылка на спам-сайт.
Сохраните все с введенным кодом для последующего анализа и немедленно повторно разверните весь свой сервер и веб-стек. У атакующего, несомненно, есть по крайней мере оболочка на вашем ящике, и это неизбежно приведет к руту, если он хитрый.
Выполните повторное развертывание, обновляйте свои приложения, прекращайте писать пригодный для использования PHP и блокируйте учетные записи пользователей надежными паролями или ключами SSH. Я не пытаюсь увести мою компанию или что-то в этом роде, но это такое обычное явление на плохо управляемых веб-боксах, что мы написали статью о как полностью перераспределить с нуля . Я предлагаю это несколько раз в день.
РЕДАКТИРОВАТЬ: Если вы голосуете против меня, пожалуйста, скажите, почему - я опробовал три случая с этим точным кодом, поэтому я ничего не выдумывал.
РЕДАКТИРОВАТЬ 2: Есть одна точка зрения, где я могу переоценить ситуацию, и это только потому, что я работаю в компании VPS (и я вижу это часто). Я сделал ошибку, предположив, что «веб-хост» этого пользователя был сервером под его контролем, а не общим хостингом. Это было ошибкой, но все же есть вероятность, что я прав.
Компромисс - это отчаянная ситуация, когда работа в темноте может иметь катастрофические последствия. Если вы не знаете, почему неавторизованная сторона получила доступ к вашей инфраструктуре, вы не сможете устранить проблему. Поскольку все предполагали, что мы говорим об управляемом, разделяемом хостинге здесь - есть вероятность, что вы правы, и виноват XSS. Опять же, вопрос не был представлен с большим количеством данных, и компромисс - это ситуация, которая не рассматривается с достаточной серьезностью среди разработчиков в целом.
Честно говоря, я устал от билетов, которые мы открываем, когда ящик бьет другого в Интернете с помощью SSH-зондов, DoS-данных, внедрения URL-адресов или чего-либо в этом роде - а Rails или PHP-разработчик, управляющий боксом, не имеет Идея почему это произошло или что он может с этим поделать. Это все вещи, которые указывают на компромисс системы, а не XSS. Поэтому мое предположение, что это был сервер, находящийся под контролем ОП, было неуместно, но это простительно (я надеюсь), потому что я сейчас на работе, обрабатываю эти заявки.
Если вы хотите, чтобы я удалил свой ответ, просто скажите об этом, но я не вижу, чтобы другие голосовали.