Пн – Вс: 8–21 по НСК

📞+7 383 380-81-89
Telegram Макс
Записаться на демо
Главная→Блог→Веб→Сайт взломали: что делать

Сайт взломали: что делать

Сайт взломали: что делать

Коротко

  • Взлом нередко не видно: сайт открывается, как раньше. Чужой код прячут там, где человек не смотрит.
  • Первым делом сохраните копию сайта «как есть». Только потом чистите.
  • Пароли меняйте не вслепую: сначала выясните, какие программы и люди работают под ними. Иначе остановится обмен с 1С и другими системами.
  • Одна проверка «чисто» ничего не доказывает. Проверяйте через день, через неделю-две и потом регулярно.
  • Пока причина не закрыта (пароли, обновления), заражение может вернуться. Мы покажем это на своём примере.

Как понять, что сайт взломан, если вы ничего не видите

Так бывает нередко: владелец ничего не замечает. Главная открывается, корзина работает, заказы приходят. А в коде страниц, ниже подвала, лежат чужие ссылки. Их вставляют не для покупателей, а для поисковых роботов.

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

Вот признаки, по которым взлом всё-таки можно заметить:

  • сайт просел в поиске без видимой причины: вы ничего не меняли, а посетителей стало меньше;
  • в результатах поиска рядом с вашим адресом появились чужие слова: «казино», «ставки», «таблетки»;
  • в Яндекс Вебмастере в разделе «Безопасность и нарушения» есть предупреждение;
  • в Google Search Console в разделе «Проблемы безопасности» или «Меры, принятые вручную» что-то отмечено;
  • хостер прислал письмо о подозрительной активности или заблокировал сайт;
  • на сайте появились страницы, которых вы не создавали;
  • в исходном коде страницы есть ссылки на незнакомые сайты (как искать — в следующих разделах).

Осторожно. Нет ни одного признака — ещё не значит, что сайт чист. У покупателей нашего примера ниже не было повода что-то заподозрить: они ничего не видели.

Проверка за 10 минут без специалиста

Для этой проверки не нужно уметь программировать. Нужны браузер и доступ в кабинеты Яндекс Вебмастера и Google Search Console. Доступ туда есть только у владельца сайта. Если вы его никогда не получали, начните с этого: без кабинетов вы не узнаете, что о вашем сайте думают поисковики.

  1. Поищите свой сайт в поиске по адресу

    В Яндексе и в Google введите site:вашсайт.ru и добавьте слово, которого на вашем сайте быть не должно, например site:вашсайт.ru казино, а потом «ставки», «таблетки», «порно». Ссылки могут быть и на других языках, поэтому этот способ ловит не всё. Если находятся страницы или в описаниях мелькают чужие темы, это тревожный сигнал.

  2. Откройте Яндекс Вебмастер

    Посмотрите разделы «Диагностика» и «Безопасность и нарушения». Любое предупреждение — повод разбираться.

  3. Откройте Google Search Console

    Посмотрите «Проблемы безопасности» и «Меры, принятые вручную». Если там пусто, это хорошо, но не гарантия.

  4. Проверьте письма

    Найдите в почте письма от хостера и от поисковиков за последние месяцы. Их часто не читают.

  5. Посмотрите исходный код главной страницы

    Как это сделать, описано в следующем разделе. Именно здесь нашлось заражение в нашем примере.

Если хоть в одном пункте что-то не так, не торопитесь чистить. Сначала прочитайте раздел про первый час: одно неверное действие может стереть следы взлома.

Как найти скрытые ссылки в коде страницы

Скрытая ссылка — это ссылка на другой сайт, которую посетитель не видит. Её прячут разными способами: делают блок невидимым, ставят ему нулевой размер, уводят за край экрана. Поисковый робот такие ссылки всё равно читает.

  1. Откройте исходный код

    Откройте главную страницу вашего сайта. Нажмите Ctrl+U (на Mac — Option+Cmd+U). Откроется страница с текстом кода.

  2. Перейдите в самый конец

    Нажмите Ctrl+End. Чужие вставки чаще всего лежат ниже подвала сайта.

  3. Поищите приметы невидимого блока

    Нажмите Ctrl+F и по очереди вводите: display:none, height:0, width:0, font-size:0, opacity:0, visibility:hidden. Ещё смотрите на блоки, которые уведены далеко за край экрана.

  4. Посмотрите, что внутри

    У каждого найденного блока смотрите, есть ли в нём ссылки (href=) на незнакомые сайты. Скрытые блоки бывают и у вас на законных основаниях: например, выпадающее меню. Плохой признак — невидимый блок, а в нём десятки ссылок на чужие адреса.

  5. Повторите на другой странице

    Откройте каталог и любую карточку товара. Если чужие блоки стоят на каждой странице, значит, вставка сидит в общем шаблоне сайта. Шаблон — это заготовка, по которой строятся все страницы.

Как выглядит такая находка, покажем на настоящем примере ниже. Там скрытых блоков было почти полсотни, и все они висели на каждой странице.

Чего эта проверка не поймает. Ссылки, которые сайт показывает только роботам или только тем, кто пришёл из поиска, в вашем браузере не видны. Как Google видит страницу, показывает инструмент «Проверка URL» в Search Console. Если сомневаетесь, отдайте проверку специалисту.

Что делать в первый час

В первый час ваша задача — не «починить», а ничего не потерять и понять масштаб. Чистка начинается позже.

  1. Остановитесь и ничего не удаляйте

    Не стирайте файлы, не переустанавливайте систему. Сейчас всё это — улики: по ним можно понять, как попали на сайт.

  2. Сделайте копию сайта «как есть»

    Нужна копия файлов и копия базы данных (в ней лежат товары, заказы, пользователи). Сохраните её отдельно от хостинга. Копия «до» нужна, чтобы откатиться, если чистка что-то сломает, и чтобы потом разобраться, что случилось.

  3. Запишите, что вы видите

    Сделайте снимки экрана предупреждений в кабинетах и сохраните письма хостера. Записывайте дату и время: пригодится в разговоре с хостером и специалистом.

  4. Соберите список доступов

    Выпишите, у кого есть доступ к хостингу, к панели сайта, к базе, к FTP. Отдельно — какие программы подключаются к сайту: 1С, платёжные системы, рассылки, доставка.

  5. Позовите специалиста или напишите хостеру

    Расскажите, что нашли, и приложите записи. Если через сайт уводят деньги или данные покупателей, на время его лучше закрыть. Решайте это вместе со специалистом.

Если в магазине хранятся данные покупателей. Когда есть подозрение, что они утекли, компания как оператор персональных данных обязана уведомить Роскомнадзор: в течение 24 часов об инциденте и в течение 72 часов о результатах разбора (часть 3.1 статьи 21 закона 152-ФЗ). Что ещё должно быть на сайте по закону, — в отдельной статье. Юристу лучше показать это в первый же день.

Чего делать нельзя

В панике люди делают одни и те же ошибки. Вот главные, каждая — с причиной.

Не делайте

  • Не стирайте сайт целиком и не ставьте заново без копии.
  • Не меняйте все пароли подряд, не зная, кто под ними работает.
  • Не считайте сайт чистым после одной проверки.
  • Не восстанавливайте сайт из старой копии, не найдя, как в него попали.
  • Не платите тому, кто обещает вылечить «бесплатно и навсегда».

Сделайте

  • Сначала сохраните копию «до». Потом чистите.
  • Составьте список учётных записей и подключённых программ. Меняйте пароли по списку.
  • Проверьте через день, через неделю-две и потом регулярно.
  • Сначала постарайтесь найти вход, потом восстанавливайте. Не нашли — закройте все известные слабые места.
  • Просите письменный отчёт: что найдено, что удалено, что осталось открытым.

Почему не менять пароли вслепую. Многие магазины на 1С-Битриксе обмениваются данными с 1С: цены, остатки, заказы. Обмен идёт под учётной записью администратора. Если поменять её пароль, обмен остановится, и заказы перестанут доходить. Поэтому сначала выясните, кто и что работает под каждой учёткой. Хорошая практика — завести для обмена отдельного пользователя только под эту задачу.

Почему не восстанавливать из старой копии. Копия могла быть сделана уже после заражения. А если и нет, вход, через который попали в первый раз, никуда не делся: вас заразят повторно. Копия помогает вернуть сайт, но не объясняет, как его взломали.

Про «бесплатно и навсегда». Навсегда защитить сайт не может никто: пока пароли и обновления не в порядке, заражение вернётся. Честный подрядчик говорит, что сделал, что осталось открытым и что проверит повторно.

Наш случай: интернет-магазин на 1С-Битриксе

Ниже — реальный случай, о котором мы рассказываем с согласия владельца сайта. Это интернет-магазин go2grow.ru (Новосибирск, оборудование и удобрения для выращивания растений). Сайт на 1С-Битриксе делали мы и поддерживаем его, кейс — на нашем сайте. Подпись «Разработка сайта – La Chatte» стоит в подвале с июня 2021 года.

Все цифры о заражении взяты из одного документа: нашей справки от 13 сентября 2026 года. Проверка шла до чистки, на трёх страницах: главной, каталоге и контактах.

Что нашли

Посетитель ничего не видел. Магазин работал. Но в исходном коде на каждой странице, ниже подвала, нашлись скрытые блоки:

  • 44 невидимых блока нулевого размера. В них — ссылки на казино, ставки и таблетки;
  • ещё 3 блока с display:none. В них — ссылки на порносайты и порнотекст.
59чужих ссылок в скрытых блоках, которые стояли на каждой странице
Источник: справка La Chatte по go2grow.ru, 13.09.2026
51сайт — столько разных доменов получали эти ссылки
Источник: справка La Chatte по go2grow.ru, 13.09.2026
8ссылок с пометкой dofollow: вставку делали так, чтобы поисковик засчитал ссылку
Источник: справка La Chatte по go2grow.ru, 13.09.2026
от 11 мес.висела вставка, по веб-архиву; началось между мартом и октябрём 2025
Источник: справка La Chatte по go2grow.ru, 13.09.2026 (снимки веб-архива)

Главное — поисковые роботы Google и Яндекса получали ту же страницу, что и браузер. То есть вставку видели именно они, а человек нет.

Как долго это висело

Понять срок помог веб-архив: это сайт, который хранит снимки страниц на разные даты. Мы посмотрели снимки главной. Результат — в таблице.

Дата снимка Что на главной
16.04.2024, 01.10.2024, 02.03.2025 чисто: скрытых ссылок нет
11.10.2025 50 скрытых блоков и порнотекст на арабском
17.03.2026 59 блоков
31.08.2026 45 блоков
13.09.2026 (живой сайт) 44 блока и ещё 3 с display:none

Вывод осторожный: вставка висела не меньше 11 месяцев, началось между мартом и октябрём 2025. Это оценка по веб-архиву. Точную дату мы не установили.

Чем это грозит

Скрытые ссылки и скрытый текст — нарушение правил поисковиков. Правила Google о спаме прямо называют скрытый текст и ссылки нарушением. У Яндекса то же самое. Последствие — сайт могут понизить в выдаче, а поисковик может пометить его как взломанный. Есть ли пометка у этого магазина, смотреть в кабинетах Вебмастера и Search Console: доступ туда только у владельца.

Что вычистили

Чистка прошла 13 сентября 2026 года. Найденное было трёх типов:

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

Закладка — это потайная дверь, через которую злоумышленник может войти снова. Такие файлы нашлись. Копии всех файлов «до правки» мы сохранили. Мы проверили и базу данных: вставок в ней нет.

Повторные проверки 14 и 22 сентября 2026 года показали: чужих ссылок и новых закладок нет. Хотя проверки чистые, сайт мы «полностью защищённым» не называем. Почему, читайте ниже.

Что до сих пор открыто

Честно. Часть решений — по паролям и обновлениям — пока за владельцем сайта. Мы вычистили сайт 13 сентября и проверили его 14 и 22 сентября, но пока эти решения не приняты, повторное заражение возможно.

Почему сайты заражают

Вот слабые места, которые делают взлом проще и незаметнее на многих сайтах:

  • Годами не обновлялись ядро и тема. Ядро — главная программа сайта. Тема — готовое оформление. Обновления закрывают найденные в них дыры.
  • Старая копия сайта осталась на хостинге. О ней забыли, никто её не обновляет, и через неё могут зайти.
  • Чужие учётные записи. Сотрудник ушёл, подрядчик закончил работу, а доступ остался.
  • Шаблон вне контроля версий. Если файлы шаблона не отслеживаются, подмену не заметит никто.
  • Нет резервных копий и журналов. Без них потом не понять, что и когда произошло.

Что делать в первые дни и неделю

Когда копия «до» сохранена, начинается чистка. Порядок такой:

  1. Найдите, откуда берутся чужие ссылки

    Чаще всего это шаблон сайта или подключённый модуль. Найдите вставку и уберите её. Чужие скрипты и подгрузку внешнего кода тоже.

  2. Найдите закладки

    Ищите файлы, названные как служебные, но лежащие там, где им быть не положено. Проверьте и старые копии сайта на том же хостинге. Если старая копия не нужна, удалите её, но после того как сохранили копию «до».

  3. Проверьте базу данных

    Вставки могут лежать не только в файлах, но и в самой базе: в настройках, текстах, шаблонах писем.

  4. Проверьте учётные записи

    Уберите чужих и забытых администраторов. Если чья-то учётка вызывает вопросы, отключайте её, а не удаляйте. Так следы останутся.

  5. Смените пароли и ключи по списку

    Хостинг, панель сайта, база, доступ по FTP и SSH, ключи подключённых сервисов. Меняйте пароль на сайте и в программе, которая под ним работает (1С, платёжная система), одновременно. Или заведите для программы отдельного пользователя. Так обмен не остановится.

  6. Обновите ядро и тему

    Сначала на копии сайта: на давно не обновлявшемся сайте после обновления может что-то сломаться, например правки, внесённые прямо в шаблон.

  7. Включите резервные копии

    Копия должна создаваться регулярно и храниться не только на хостинге.

  8. Отправьте сайт на перепроверку

    Если поисковик пометил сайт, после исправления запросите перепроверку в Вебмастере и Search Console.

Проверка через 1–2 недели и дальше

Повторное заражение — не редкость: если вход остался, вставки появятся снова. Поэтому проверяйте сайт не один раз. В нашем примере чистка была 13 сентября, повторные проверки — 14 и 22 сентября.

Что смотреть Что должно быть
Исходный код главной, каталога и карточки товара Нет незнакомых ссылок и скрытых блоков
Файлы, изменившиеся после чистки Только те, что меняются сами (например, выгрузка товаров для площадок)
Шаблоны сайта Контрольные суммы те же, что сразу после чистки
Список администраторов Только известные вам люди
Журнал обращений к сайту Никто не стучится к прежним закладкам
Вебмастер и Search Console Нет предупреждений о безопасности
Поиск site: в Яндексе и Google Нет чужих слов и лишних страниц

Дальше проверяйте регулярно, раз в месяц. Лучше поручить это тому, кто следит за сайтом постоянно: проверка вручную быстро превращается в «потом».

Когда звать подрядчика и сколько это стоит

Осмотр без специалиста разумен, когда вы хотите понять, есть ли проблема. Чистку и поиск закладок лучше отдавать тем, кто это делает регулярно: ошибка здесь стоит дороже.

Хватит самому

  • Проверить поиск по site:.
  • Посмотреть Вебмастер и Search Console.
  • Открыть исходный код и поискать скрытые блоки.
  • Сделать снимки и собрать список доступов.

Нужен специалист

  • Нашли чужие ссылки или странные файлы.
  • Сайт помечен как опасный.
  • Нужно найти вход, а не только убрать следы.
  • Через сайт идёт оплата или хранятся данные покупателей.

Что у нас. Первый шаг — аудит безопасности сайта: 90 000 ₽, проверка занимает 1–2 недели. Если после аудита вы передаёте сайт нам на поддержку, эта сумма засчитывается в первый месяц. Цена — с живой страницы услуги.


Аудит безопасности сайта — 90 000 ₽Проверка за 1–2 недели: что взломано, что дырявое, что делать по порядку

Саму чистку делаем отдельной услугой — восстановление сайта после взлома: чистка от 25 000 ₽, восстановление от 50 000 ₽. Точную цену называем после осмотра. Остальные разовые работы стоят 3 300 ₽ за час, срочные вдвое дороже; в пакете поддержки час обходится в 2 500 ₽. Если нужен постоянный присмотр (обновления, копии, быстрая реакция на сбой), есть пакеты поддержки сайтов на 1С-Битрикс: от 25 000 ₽ в месяц (пакет «10 часов», реакция на критический сбой — 15 минут).


Поддержка сайта на 1С-Битрикс — от 25 000 ₽/месОбновления, резервные копии и реакция на сбой за 15 минут

Мы работаем с 1С-Битрикс и WordPress. Если у вас другая система, напишите: сначала скажем, беремся ли.

Если сайт делал прежний подрядчик и непонятно, что он после себя оставил, есть аудит работы подрядчика за 120 000 ₽.

Частые вопросы

Как понять, что сайт взломан, если он работает и выглядит нормально?

Смотрите не на сам сайт, а на его исходный код и на кабинеты поисковиков. Ищите чужие ссылки под подвалом, предупреждения в Вебмастере и Search Console, странные слова рядом с вашим адресом в поиске. Нашли что-то одно, проверьте остальное: сайт мог быть заражён давно.

Как проверить сайт на скрытые ссылки без программиста?

Откройте главную, нажмите Ctrl+U, перейдите в конец кода и поищите display:none, height:0, width:0. Посмотрите, нет ли в таких блоках ссылок на незнакомые сайты. Подробно — в разделе выше.

Можно ли просто восстановить сайт из старой копии?

Можно, если вы уверены, что копия сделана до заражения. Но по веб-архиву вставки могут висеть месяцами, и копия окажется заражённой. Даже с чистой копией вход, через который попали, остаётся открытым. Сначала постарайтесь найти вход и закройте его; если не нашли, закройте все известные слабые места.

Яндекс или Google пометили сайт как опасный — как снять метку?

Сначала уберите причину: чужие ссылки, закладки, лишние страницы. Потом запросите перепроверку в Вебмастере или Search Console. Пока причина не устранена, запрос не поможет. Сколько поисковик будет думать, мы не обещаем: сроки зависят от него.

Можно ли узнать, кто и как взломал сайт?

Не всегда. Многое зависит от журналов хостера: если их нет, восстановить вход тяжело или невозможно. Поэтому закрывайте все известные слабые места: пароли, обновления, старые копии и чужие учётки.

Сколько стоит проверка и лечение сайта?

У нас аудит безопасности стоит 90 000 ₽, проверка занимает 1–2 недели. Чистка — от 25 000 ₽, восстановление с закрытием входа — от 50 000 ₽ (подробнее). Точную сумму называем после осмотра сайта. Остальные разовые работы — 3 300 ₽ за час, срочные вдвое дороже; в пакете поддержки час — 2 500 ₽.

Если у вас нашлись чужие ссылки или вы не уверены в сайте, напишите нам в Telegram @lcstudio или на info@la-chatte.com. Сначала посмотрим, что на сайте, и скажем, сколько времени займёт осмотр.

Для технических специалистов

Подмена для роботов. Сравните ответ для браузера и для поисковых роботов: curl -s -A "Mozilla/5.0" https://вашсайт.ru/ и то же с User-Agent робота Яндекса и Googlebot. Сравнивайте состав ссылок и скриптов, а не размер: у сайтов с кэшем страниц размер ответа для робота может отличаться без всякой подмены. В нашем примере ответ для роботов и для браузера был одинаков.

Поиск по шаблонам. Найдите в шаблонах сайта display:none, нулевые размеры (height:0, width:0) и абсолютное позиционирование, внешние <script src> и серверные обращения к чужим адресам (file_get_contents, curl_exec по внешнему URL). Для файлов ищите обфускацию: eval(, base64_decode(, длинные строки в одну линию. Отдельно ищите файлы, названные как служебные, но лежащие в каталогах загрузок и в старых копиях сайта.

Контрольные суммы. После чистки снимите sha256sum с шаблонов и запишите. Дальнейшую сверку ставьте в расписание: любое расхождение — повод для проверки. Для быстрого осмотра пригодится список файлов, изменённых после даты чистки, с исключением каталогов кэша.

Git для шаблона. Шаблон сайта должен лежать под контролем версий, а не в каталоге, исключённом из репозитория. Тогда подмена видна как изменение в списке правок. Для 1С-Битрикса это значит: держать пользовательский шаблон вне системного каталога ядра и следить за ним.

Учётные записи и интеграции. Создайте отдельного пользователя для обмена с 1С с минимальными правами. Проверьте список администраторов в панели и в базе, журнал событий безопасности, агенты и обработчики событий. Сравните версии ядра и модулей с актуальными, обновляйте сначала на копии.

⇽Назад к блогу
La-Chatte

Готовы передать рутину
ИИ-сотрудникам?

За 30 минут разберём задачу, которая съедает время команды, и честно скажем, стоит ли отдавать её ИИ.

    Что вас интересует?