Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nosurf-cve-2025-46721 — Доказательство концепции и анализ CVE-2025-46721, CSRF-уязвимости в библиотеке Go nosurf, вызванной неработающими проверками same-origin, с рабочей демонстрацией эксплойта. | Kitploit
Инструменты/GitHubGitHub/justinas/nosurf-cve-2025-46721
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubjustinas/nosurf-cve-2025-46721

nosurf-cve-2025-46721

Доказательство концепции и анализ CVE-2025-46721, CSRF-уязвимости в библиотеке Go nosurf, вызванной неработающими проверками same-origin, с рабочей демонстрацией эксплойта.

Репозиторий
331 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-46721: CSRF из-за неработающих проверок одинакового происхождения в justinas/nosurf

  • Что произошло?
  • Затронут ли я?
  • PoC
  • Исправление
  • Благодарности

Что произошло?

Все версии nosurf до 1.2.0 не применяли проверки одинакового происхождения для входящих запросов. Это произошло из-за того, что они полагались на поле .URL.Scheme типа net/http.Request из стандартной библиотеки Go, чтобы сначала убедиться, что запрос обслуживается через HTTPS, и только затем применять проверки одинакового происхождения. Упомянутое поле Scheme не заполняется HTTP-сервером Go для входящих запросов:

root@kitploit:~
// For server requests, the URL is parsed from the URI
// supplied on the Request-Line as stored in RequestURI.  For
// most requests, fields other than Path and RawQuery will be
// empty.

https://pkg.go.dev/net/http#Request

поскольку в общем случае Go не может определить, выполняется ли запрос через TLS (из-за возможного наличия обратного прокси, завершающего TLS, и т.д.).

Это может позволить злоумышленникам отправлять не-безопасные междоменные запросы на ваш веб-сайт.

Затронут ли я?

В дополнение к реализации проверок одинакового происхождения, nosurf также защищает от CSRF с помощью шаблона двойной отправки cookie. Это означает, что для успешного выполнения изменяющего междоменного запроса злоумышленнику также необходим контроль над содержимым страницы на вашем веб-сайте или на поддомене вашего веб-сайта. Это может быть достигнуто с помощью XSS, или если вы намеренно предоставляете контроль над HTML-содержимым пользователям вашего веб-сайта (например, вы являетесь хостинг-провайдером example.com, который позволяет пользователям размещать свои веб-сайты на alice.example.com).

PoC в этом репозитории демонстрирует такую атаку в последнем случае, когда злоумышленник контролирует содержимое на поддомене основного домена веб-сайта.

PoC

Требуются Go и Caddy. Запустите серверы вручную:

root@kitploit:~
$ go run attacker.go & go run target.go & caddy run

или через Process Compose:

root@kitploit:~
$ process-compose

Посетите https://attacker.target.localhost. Нажмите кнопку, чтобы отправить форму на https://target.localhost, и убедитесь, что запрос выполняется успешно.

Исправление

Исправление этой проблемы было выпущено в nosurf 1.2.0.

Благодарности

Спасибо Патрику О'Доэрти за сообщение об этой проблеме.

Скачать инструмент