УЧЕБНЫЙ ПРИМЕР · НЕ ОТЧЁТ КЛИЕНТА
Доказательство. Исправление. Повторная проверка. Этот отчёт воспроизведён на локальном тестовом приложении. После соответствующих изменений две рекомендации по конфигурации исчезли. Эксплуатируемая уязвимость не заявляется.
2 учебных ответа
2 рекомендации по конфигурации
0 подтверждённых уязвимостей
НИЗКАЯ · НАБЛЮДАЕМАЯ КОНФИГУРАЦИЯ Отсутствует Content-Security-Policy Место GET /Доказательство HTTP 200; Content-Security-Policy: [absent]Риск Нет дополнительного ограничения браузерных источников. Это не доказывает наличие XSS. Исправление Составьте CSP под ресурсы приложения и проверьте её совместимость. Учебная политика ниже не универсальна. Content-Security-Policy: default-src 'self'; frame-ancestors 'none'; object-src 'none'Повторная проверка GET /fixed → HTTP 200; Content-Security-Policy present; matching recommendation absent
В исправленном ответе соответствующая рекомендация отсутствует.
НИЗКАЯ · НАБЛЮДАЕМАЯ КОНФИГУРАЦИЯ У учебной cookie отсутствует HttpOnly Место GET / → Set-Cookie: demo-sessionДоказательство Set-Cookie: demo-session=[REDACTED]; Secure; SameSite=Lax; HttpOnly: [absent]Риск Cookie доступна клиентскому JavaScript. В учебном приложении она не содержит реальную сессию; эксплуатация не подтверждена. Исправление Для cookie сессии задайте HttpOnly на сервере. Флаг Secure присутствует в учебном заголовке; сохранение cookie браузером и HTTPS здесь не тестировались. Set-Cookie: demo-session=[REDACTED]; Secure; SameSite=Lax; HttpOnlyПовторная проверка GET /fixed → HttpOnly present; matching recommendation absent
В исправленном ответе соответствующая рекомендация отсутствует.
Что проверено и что осталось за рамками Два ответа контролируемого приложения: заголовки безопасности и атрибуты cookie. TLS, авторизация, база, закрытый серверный код и эксплуатация не проверялись. Результат нельзя переносить на другой сайт.
В репозитории пример повторяется командой:
node docs/promotion/fixture/verify.cjsКак читать отчёт безопасности →