Перейти к содержимому

Проверка устаревших технологий на сайте

Введите адрес сайта — покажем, какие библиотеки, версии PHP, веб-сервера и движка устарели или остались без поддержки, где есть известные уязвимости (CVE) и что с этим делать.

Бесплатно, без регистрации. Данные обрабатываются в вашем браузере и никуда не отправляются.

Проверка занимает 10–25 секунд. Открываем главную и до 3 внутренних страниц, смотрим подключённые библиотеки, заголовки сервера и вёрстку. Версии по внешним признакам определяются не всегда точно.

Как пользоваться

  1. Введите адрес сайта — например, example.ru. Проверяем главную и до 3 внутренних страниц.
  2. Подождите 10–25 секунд: мы соберём подключённые скрипты и стили, заголовки сервера и признаки вёрстки.
  3. Посмотрите оценку «возраста технологий» и список: что найдено, какая версия, какая актуальная, в чём риск и что сделать.
  4. Отметьте пункты, которые хотите исправить, — смета посчитается по нашему прайсу. Ссылку на отчёт можно передать разработчику.

Что значит «устаревшая технология»

Сайт может годами работать без видимых проблем, но библиотеки и программы под ним стареют. Мы различаем три уровня риска: версия с опубликованными уязвимостями (номера CVE), ветка без поддержки — исправлений больше не будет, и просто устаревшая версия, у которой есть более новые выпуски. Это оценка риска, а не диагноз: уязвимость в библиотеке срабатывает не на каждом сайте.

Что проверяемКак определяем версиюПример риска
JS-библиотеки: jQuery, jQuery UI, Bootstrap, AngularJS, Vue, React, Lodash, Moment.js и другиеПо адресу файла (jquery-1.12.4.min.js, ?ver=3.7.1, /bootstrap/3.3.7/) или по заголовку в первых 2 КБ файлаjQuery до 3.5.0 — XSS (CVE-2020-11022, CVE-2020-11023)
Язык и веб-серверЗаголовки Server и X-Powered-By: PHP/7.4.33, nginx/1.18.0, Apache/2.4.41PHP 7.4 без исправлений безопасности с ноября 2022 года
Движок сайтаМета-тег generator, служебные файлы; версия WordPress сверяется с wordpress.orgJoomla 3 без поддержки с августа 2023 года
СоединениеПроверочное TLS-соединениеСервер принимает TLS 1.0/1.1, нет HTTP/2
ВёрсткаКод страницНет мета-тега viewport, вёрстка таблицами, Flash, заплатки для Internet Explorer, старый год в подвале

Откуда данные об уязвимостях и сроках

Уязвимости JS-библиотек — встроенная база по образцу retire.js и записей NVD: в неё вошли только записи с точно известными границами версий. Сроки поддержки — официальные графики проектов: php.net, python.org, Bootstrap, AngularJS, Vue, Joomla, Drupal, OpenSSL, жизненный цикл Windows Server. Базу мы обновляем вручную, поэтому самая свежая уязвимость может в неё ещё не попасть.

Почему версия может определиться неточно

  • Файл переименован или собран вместе с другими. Тогда версии в адресе нет, а заголовок мог быть удалён при сборке.
  • Версия в ?ver= — не всегда версия библиотеки. Темы и плагины WordPress иногда подставляют туда свою версию.
  • Дистрибутивы Linux переносят исправления. nginx или Apache из пакета Ubuntu могут быть защищены, хотя номер версии старый.
  • Сервер может скрывать версии. Тогда мы честно пишем «версию не определили» — это не значит, что всё актуально.

Что делать с результатом

  1. Красные пункты — первыми. Версии PHP, движка и сервера без поддержки: новые уязвимости в них не закрывают.
  2. Библиотеки с CVE. Обновление внутри ветки обычно простое (Lodash, jQuery UI). Переход jQuery 1.x → 3.x или Bootstrap 3 → 5 — уже переделка, её делают на копии сайта.
  3. Вёрстка и мобильная версия. Если нет viewport и страницы свёрстаны таблицами, сайт плохо выглядит на телефоне — это видно посетителям и поисковикам.
  4. Когда устарело всё сразу. Сравните две сметы: обновление текущего сайта и новый сайт с переносом содержимого и адресов. Иногда второе выходит не дороже.

Вопросы и ответы

Проверка бесплатная?

Да. Регистрация не нужна, отчёт показывается сразу, ссылка на него хранится 90 дней. Бесплатно — до 10 проверок в сутки.

Уязвимость в jQuery — значит, сайт взломают?

Нет. Большинство уязвимостей в клиентских библиотеках срабатывают только при определённом использовании: например, если сайт вставляет на страницу HTML из недоверенного источника. Но такие версии ищут автоматические сканеры, а обновление снимает вопрос целиком.

Почему у меня WordPress, а jQuery «старый»?

Сам WordPress подключает актуальный jQuery. Старую версию обычно приносит тема или плагин, который подключает свою копию библиотеки. В отчёте указан адрес файла — по нему видно, откуда он.

Можно ли просто скрыть версии?

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

Что такое «возраст технологий»?

Оценка от 0 до 100: компоненты без поддержки и с уязвимостями снижают её сильнее, устаревшие версии и признаки старой вёрстки — меньше. 100 — по внешним признакам всё современное.

Сайт на Тильде или конструкторе — есть смысл проверять?

Движок обновляет платформа, но в код страниц часто вставлены свои скрипты и виджеты — их версии проверка тоже покажет.

Можно ли проверить чужой сайт?

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

Когда нужна команда

Обновление библиотек и движка

Обновим библиотеки, движок и PHP на копии сайта, проверим формы и оплату и только потом выкатим. Если устарело всё сразу — посчитаем и новый сайт.

Другие инструменты