Перейти к содержанию

РУКОВОДСТВО 02 · ВЕБ-ПРИЛОЖЕНИЯ И API

Проверка своего сайта на уязвимости по URL

Укажите свой сайт в кабинете Scantelio, подтвердите владение адресом и разрешите внешний скан. Он проверяет поддерживаемые настройки HTTPS, HTTP-ответов и публикации служебных данных. Регистрация и подтверждение нужны до запуска. Один URL не раскрывает приватную бизнес-логику или полный состав зависимостей; для них понадобятся дополнительные данные.

Редакция Scantelio · Обновлено

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

Понадобятся вход, подтверждение владения и согласие. Можно начать с ограниченного внешнего профиля Free.

Содержание

Начать проверку своего сайта

Кнопка ведёт в существующее подключение проекта. После входа добавьте публичный URL без токенов и секретных параметров, разместите проверочный файл либо DNS-запись и подтвердите разрешение. Сканирование не начинается от самого открытия руководства. Указывайте собственный ресурс или адрес, на проверку которого есть явное разрешение. Это не сервис проверки надёжности чужого магазина и не антивирус для компьютера.

Что входит во внешнюю проверку

Внешний профиль рассматривает транспорт, защитные заголовки, применимые cookies, CORS и поддерживаемые признаки ошибочной публикации. Таблица ниже разделяет наблюдение и границу вывода. Cookie отсутствует в ответе — это не основание объявить проверенными все сессии приложения. Заголовки главной страницы не описывают каждый API-маршрут. У Nuclei используются отобранные профили, а не весь каталог движка; набор зависит от технологии и бюджета.

Первичные источники: OWASP: HTTP Headers · MDN: CORS

Продолжить: Безопасность вайбкодинга: как проверить приложение перед запуском

Как проходит проверка

Последовательность: адрес, подтверждение владения, согласие, выбор области, очередь, выполнение, результаты. В очереди кабинет показывает ориентировочный диапазон начала; он может измениться. Ожидание старта и длительность работы — разные величины. Во время выполнения появляются результаты и этапы. Не рассчитывайте на фиксированные две минуты: скорость зависит от ответов сайта, ограничений запросов, текущей мощности и объёма подготовленных проверок.

Как выглядит полезный отчёт

Полезная находка содержит проверяемую цель, правило, наблюдение, уверенность, последствия и следующий шаг. Секретные значения маскируются. Учебный пример ниже относится только к локальному стенду: конфигурация содержит вымышленные данные. Частичный результат отдельно объясняет ограничение, например ответ 429. Технический сбой тоже не равен чистому отчёту. Сравнивать запуски имеет смысл при одинаковой области и известных изменениях сборки.

Изолированный стенд Python 3: синтетические объекты. Только loopback.
python3 access-fixture.py
# В другом терминале: до исправления — 200 с чужим объектом
curl -H "X-Fixture-User: a" "http://127.0.0.1:8769/documents/doc-b?mode=vulnerable"
# После — 403; doc-a остаётся доступен пользователю a
curl -H "X-Fixture-User: a" "http://127.0.0.1:8769/documents/doc-b?mode=fixed"

Первичные источники: OWASP: HTTP Headers · MDN: CORS

Продолжить: Проверка безопасности API с тестовыми аккаунтами

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

Почему ответ 200 ещё не означает утечку

Многие SPA возвращают index.html со статусом 200 на любой неизвестный путь. Такой ответ на /.env не является конфигурационным файлом. В нашем тесте HTML fallback исключается, а структурированный набор синтетических переменных подтверждает публикацию конфигурации. Не проверяйте работоспособность найденного секрета обращением к чужому сервису. Сначала определите его назначение внутри своего проекта, ограничьте распространение и отзовите полномочия у провайдера.

Ответ стендаНаблюдениеВывод
200, содержимое .envСтруктура переменных и секретоподобное значениеНаходка; значение редактируется в доказательстве
200, HTML оболочка SPAНет признаков конфигурацииУтечка не подтверждена
404Файл недоступенПроверка этого пути пройдена, не всего приложения

Как понимать CORS заголовки и сертификат

HTTPS защищает соединение, но не решает, кому разрешён документ. CORS описывает ограничения чтения ответа браузером и не заменяет серверную авторизацию. Отсутствие CSP само по себе не доказывает XSS; применимость заголовка зависит от типа ответа. Не копируйте один набор настроек на HTML, JSON и скачивание файлов без проверки поведения. Источники рядом с таблицей объясняют назначение отдельных механизмов.

Первичные источники: OWASP: HTTP Headers · MDN: CORS

Продолжить: Утечка .env .git или API-ключа: как закрыть доступ и проверить исправление

Чем отличаются бесплатная и расширенная проверки

Актуальные цены и лимиты показаны из каталога приложения ниже. Free предназначен для знакомства с коротким внешним профилем; расписаний и мониторинга зависимостей в нём нет. Платные профили позволяют подготовить авторизацию и расширить поддерживаемые проверки. Более высокий тариф не превращает каждое наблюдение в доказанную уязвимость: качество поддерживаемых правил одинаковое, отличаются объём и управление.

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

Сначала разберите подтверждённые утечки и ошибки доступа. Исправьте причину в приложении или публикации, затем повторите проверку. Если находок нет, посмотрите пропуски и неприменимые правила, прежде чем делать вывод о готовности релиза. Для приватного API подготовьте аккаунты; для библиотек — точный инвентарь. Регулярный контроль нужен после изменений, а не только в день первого подключения.

Продолжить: Мониторинг CVE и зависимостей вашего приложения

Воспроизводимые примеры и материалы

Проверено: guides-1 · Python 3.13.0 · PyJWT 2.15.1

Учебные данные — синтетические. Файлы не содержат действующих ключей или клиентской базы. Запускайте примеры только в собственной изолированной тестовой среде.

Протокол проверки примера: версии, действия и наблюдения

Настоящий интерфейс находки: результат проверки открытой конфигурации на локальном учебном стенде; секретное значение скрыто
Настоящий интерфейс находки: результат проверки открытой конфигурации на локальном учебном стенде; секретное значение скрыто. Учебный стенд, синтетические данные.

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

Можно проверить без исходного кода?

Да, поддерживаемые внешние ответы. Проверка репозитория и всей бизнес-логики в это не входят.

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

Есть Free с ограниченным количеством коротких запусков. Текущие лимиты показаны в каталоге на странице; они не означают ежедневное расписание.

Нужна ли регистрация?

Да. После входа нужно добавить проект, подтвердить владение и дать согласие на проверку.

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

Только при явном разрешении владельца и в согласованной области. Подтверждение адреса остаётся обязательным.

Что означает отсутствие находок?

В выполненных сценариях проблемы не обнаружены. Пропуски, ошибки и частичное покрытие нужно рассматривать отдельно.

Можно ли проверять API так же?

Часть публичных ответов — да. Проверки приватных объектов и ролей требуют тестовых личностей, известных объектов и ожидаемых прав.

Автор и источники

Редакция Scantelio: методика и границы проверки. Проверка примера: 2026-11-02.

Перенесите проверку на свой проект

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

Выберите свой проект после входа. Ничего не сканируется без подтверждения и согласия.