Разбор · 7 мая 2026 · безопасность

Проверил сайт строительной компании за 10 минут. Нашёл 5 дыр, через которые заявки уходят к конкурентам

Ниша с дорогим лидом: фундаменты, монолит, строительство под ключ. Никакого взлома. Только открытые данные, curl -I и просмотр HTML. Пять минут работы вскрыли картину, которую не показывает ни один коробочный аудит безопасности.

Стартовая точка

Что за сайт и почему это типично

Строительная компания из Иркутска. Стек сайта: WebSite X5 WebBuilder версии 12, jQuery 1.12.4, PHP-роутер. Собран в 2016–2018 году. Ниша с дорогим лидом, один звонок стоит от 3 до 15 тысяч рублей в контексте, так что потеря даже одной заявки оборачивается реальными деньгами.

Таких сайтов в России десятки тысяч. Строители, стоматологии, юристы, автосервисы. Сайт сделали «под ключ» в агентстве, и с тех пор на безопасность никто не смотрел. Не потому что не хотят. Просто не знают, куда именно смотреть.

Находки

Пять дыр за пять минут

  • 1. Стек с публично известными уязвимостями.

    jQuery 1.12.4: библиотека 2016 года с несколькими CVE по XSS. Риск тут не теоретический. Уязвимости задокументированы, эксплойты лежат в открытом доступе. Обновление до свежей версии закрывает проблему за полчаса, но никто не обновлял восемь лет.

  • 2. Ноль security-заголовков.

    Команда curl -I https://сайт.ru показала пустой список: нет Content-Security-Policy, нет Strict-Transport-Security, нет X-Frame-Options, нет Referrer-Policy, нет Permissions-Policy. Браузер получает страницу без единой инструкции о том, что можно загружать, куда отправлять данные и можно ли встраивать сайт во фрейм.

  • 3. CSRF-токен один на все формы и не ротируется.

    На сайте четыре формы обратной связи. Все используют один и тот же CSRF-токен, который не меняется между запросами. Значит, защиту от межсайтовой подделки запросов можно обойти автоматически: токен предсказуем.

  • 4. Яндекс.Метрика с вебвизором пишет ввод форм.

    В коде страницы стоит webvisor: true без исключений для полей форм. Когда пользователь вводит телефон или имя в форму обратного звонка, запись экрана фиксирует каждый символ. Любой, кому дали доступ к Яндекс.Метрике (подрядчик, маркетолог, стажёр), видит эти данные в буквальной записи сессии.

  • 5. Шесть параллельных копий сайта.

    Подкаталоги /new, /novosibirsk, /zakaz, /zakaz2 и ещё два: живые страницы с формами, которые индексируются Яндексом. Каждая из этих страниц работает как незакрытый дубль с теми же уязвимостями. SEO-каннибализация в подарок.

Главный инсайт

Рыночная цена вопроса завышена в 2–3 раза

Коробочные аудиторы называют цену закрытия этих дыр в 300–400 тысяч рублей. По честной декомпозиции работа стоит 140–240 тысяч: 2–3 недели на обновление стека, настройку заголовков, ротацию CSRF и исключение полей из вебвизора.

Разрыв в цене держится на простом: заказчик не понимает, что именно ему нужно, а подрядчик это не проясняет. Знаешь список конкретных задач — цена падает вдвое, а сроки втрое.

Проверьте сами

Три команды, которые покажут состояние вашего сайта

Не нужен подрядчик для первичной диагностики. Достаточно терминала или онлайн-инструментов.

  • Security-заголовки: curl -I https://ваш-сайт.ru. Если нет строк Strict-Transport-Security и Content-Security-Policy, первые две дыры уже подтверждены.
  • Вебвизор и формы: откройте Яндекс.Метрику → Вебвизор → найдите запись с заполнением формы. Если телефон читается, его видит любой человек с доступом к Метрике.
  • Версия jQuery: откройте исходный код страницы (Ctrl+U), найдите строку jquery. Версия ниже 3.6 означает, что обновление обязательно.

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

Хотите знать, через что уходят ваши заявки?

Сделаю технический аудит сайта по открытым данным: security-заголовки, формы, стек, дубли. Конкретный список задач с ценами, без воды и без завышения.

Обсудить аудит →

Или напишите напрямую: @kulievvb в Telegram

Что не так с твоим сайтом или рекламой?

Разберу за 30 минут. Найду 2-3 конкретные точки, где сайт теряет клиентов, и покажу как чинить. Бесплатно, без обязательств и без продаж в лоб.

Связаться по делу

Заявка прилетит мне и в Telegram, и на почту. Отвечу в течение рабочего дня.

Куда удобнее ответить?
или сразу написать в Telegram →

Нажимая кнопку, даёте согласие на обработку персональных данных (оператор № 23-25-044738).