Рубрики

Полезные материалы

Взлом спам-ссылки (и как я надеюсь это исправил)

  1. Взломан.
  2. Атака базы данных
  3. Спам инъекция
  4. Как я удалил ссылки
  5. Скрестив пальцы
  6. последствия

Совсем недавно мой другой блог CSS-Tricks был взломан. Впервые я узнал от очень полезного читателя, который прислал мне скриншот мобильной версии моего сайта.

Мобильная версия моего сайта была создана Mobify, поэтому я сразу же связался с ними. Как я должен знать, конечно, Mobify не может вставлять контент на сайт, они представляют собой только уровень представления поверх уже существующего контента. Они очень быстро и полезно ответили и прислали мне несколько ссылок на полезные ресурсы и информацию.

Взломан.

Увидев следующий экран, я понял, что сам сайт взломан. Время имеет существенное значение в данный момент, потому что я не только не хочу, чтобы мои посетители видели неприятный спам, я не хочу, чтобы бот Google пробирался и видел беспорядок и вредил моему SEO. Я сразу же решил выяснить, откуда эти спам-ссылки были вставлены. Вот что я увидел на сайте:

Это случилось со мной несколько лет назад, и оказалось, что сами файлы темы были изменены, и таким образом был введен спам. Я быстро просмотрел их все и ничего не увидел. Из источника на сайте я мог видеть, что ссылки вставляются после содержимого каждого поста. Я также мог видеть в этом пункте, что ссылки были идентичны на каждом посте. Это казалось инъекцией файла темы, но, очевидно, это не так.

Атака базы данных

Я открыл сам администратор WordPress и проверил сообщение. Низко и вот, там были ссылки, прямо в содержании каждого поста. Я проверил несколько из них, новых и старых, и было все то же самое. На данный момент было две возможности. Администратор был скомпрометирован, предоставив кому-то доступ, а возможность редактирования сообщений или самой базы данных была скомпрометирована.

Из-за скорости атаки, того факта, что все ссылки были одинаковыми и более 500 сообщений / страниц были одинаково изменены, я пришел к выводу, что это была атака базы данных.

Вот что я сделал:

  1. Я изменил имя пользователя и пароль администратора. Просто чтобы убедиться, что сам администратор был в безопасности, этот логин и пароль должны быть изменены. Поскольку вы не можете изменить имена пользователей после их создания, я создал новую учетную запись с новым паролем, вошел в нее и удалил исходную учетную запись, приписав все сообщения новой учетной записи.
  2. Я изменил имя пользователя и пароль администратора сервера. Мой сайт управляется Plesk, у которого есть логин и пароль. Если кто-то имел доступ к этому, он мог получить доступ к базе данных. Вряд ли это было скомпрометировано, но чтобы охватить все базы, это также изменилось.
  3. Имя базы данных, имя пользователя базы данных и пароль базы данных были изменены. Смена пароля базы данных могла бы быть достаточной, но для того, чтобы быть настолько сложной, насколько это возможно, я изменил и имя пользователя, и пароль. Имя базы данных было изменено позже после очистки (см. Ниже).
  4. Я изменил логин и пароль FTP. Если бы у хакера было это, они могли бы изменить файлы темы или открыть файл wp-config.php, чтобы найти учетные данные базы данных.
  5. Файл XMLRPC был удален. Этот файл используется для pingback и trackbacks, а также возможности удаленного редактирования, такие как отправка по электронной почте. Я буквально не использую ничего из этого, и этот файл в прошлом был причиной проблем с безопасностью, поэтому я удалил его.
  6. Права доступа к файлу проверены. В частности, я обнаружил, что файл wp-config.php был установлен на 775, я изменил его на 755. Я также убедился, что ни один из файлов не был доступен для записи в мире, за исключением тех немногих, которые должны быть, например, папка для загрузки.

Спам инъекция

Вот как выглядела спам-инъекция:

<div style = \ "\\ 64 \\ 69 \\ 73 \\ 70 \\ 6c \\ 61 \\ 79: \\ 6e \\ 6f \\ 6e \\ 65 \"> <a href = \ "http : //www.fcit.usf.edu/li/viagra.html \ "> виагра </a> \ r \ n <a href = \" http://www.fcit.usf.edu/li/free- viagra.html \ "> бесплатная виагра </a> \ r \ n ... много больше ... </ div>

Этот атрибут «style» (встроенный CSS) при отображении в обычном браузере преобразуется в display: none; и, таким образом, не были видны. По какой-то причине, когда Mobify взял этот контент, эта странная строка символов не была преобразована, и, таким образом, div был видимым, а не скрытым.

Причина, по которой я уверен, что хакеры выбрали эту технику, заключается в том, что владелец блога может никогда не понять, что ссылки были вставлены, потому что они обычно не видны. Я думаю, что Google не дает никаких ссылок на ссылки, которые находятся в контейнере с отображением: нет, но, возможно, теория хакера заключается в том, что робот Google не сможет сказать, что этот div скрыт из-за странного кода ,

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

Как я удалил ссылки

К счастью, код, который был вставлен в каждый пост / страницу, был идентичен. Я скачал свежую копию базы данных (в виде файла .SQL), открыл ее в TextMate (подойдет любой текстовый редактор с функцией поиска / замены) и выполнил поиск / замену блока спам-кода (заменил его ничем) , Затем я сохранил его новую копию и создал новую базу данных на сервере (отсюда и изменение имени БД). Я импортировал новый фиксированный файл SQL и разместил WordPress в новой базе данных.

Скрестив пальцы

Прошла уже неделя, и проблем больше нет. Я молюсь, чтобы то, что я сделал, устранило то, что было с дырой, но, конечно, я не могу быть уверен на 100%, потому что я не уверен на 100%, что это было с самого начала. Конечно, размещение всей этой информации, безусловно, не делает меня более безопасным, ну да ладно. У меня, конечно, происходят серьезные резервные копии, поэтому самое худшее, что может случиться, - это когда меня снова взломают, и мне придется восстанавливать из резервных копий и продолжать закрывать дыры.

последствия

Хотя спама не было на моем сайте более нескольких часов, кто-то указал мне, что мой Google PageRank для домашней страницы упал с разумного и здорового PR 6 до нуля. Хотя PageRank - очень странная вещь, и это может быть любое количество вещей, в том числе случайный неточный отчет от Google, более вероятно, что это наказание за спам. Многие из моих подстраниц, которые сканируются гораздо реже, все еще имеют свой PageRank. Это не просто PageRank, многие поиски, которые вызывали бы домашнюю страницу (например, мое собственное имя), теперь далеко вниз по страницам поисковой выдачи, когда они были # 1. Это, конечно, будет серьезно влиять на мой трафик, пока мой PageRank не будет восстановлен, если это когда-либо произойдет.

CSS-хитрости, это нетривиальная часть моего дохода, и, если трафик серьезно упадет, это может определенно повлиять на меня в финансовом отношении. Я не ною, это просто говорит о том, что безопасность сайта - это не абстрактное занятие, а серьезный бизнес, который может иметь серьезные последствия.