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

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

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

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

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

Категории

Все категории
Loading categories
t3code-websocket-ticket-origin — T3 Code 61c3794c origin leftover. Обновление wsTicket игнорирует Origin. Cookie без Origin принимается. Cookie с враждебным Origin отклоняется. Лаборатория loopback. | Kitploit
Инструменты/GitHubGitHub/abraxas/t3code-websocket-ticket-origin
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеАутентификацияЛаборатории и Практика
GitHubabraxas/t3code-websocket-ticket-origin

t3code-websocket-ticket-origin

T3 Code 61c3794c origin leftover. Обновление wsTicket игнорирует Origin. Cookie без Origin принимается. Cookie с враждебным Origin отклоняется. Лаборатория loopback.

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

Популярное

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

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

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

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

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

Abraxas Labs - t3code-websocket-ticket-origin

t3code-websocket-ticket-origin

Тикет сокета в URL не заботится о том, какой сайт его запросил. Cookie-сессии с враждебным Origin отклоняются. Cookie-сессии без заголовка Origin принимаются. Bearer-токены намеренно игнорируют Origin. Сессионная cookie имеет SameSite=Lax, и именно это сейчас блокирует межсайтовый cookie WebSocket.

Класс: Origin leftover Доступ: Локальный / держатель тикета (враждебный Origin на wsTicket; отсутствующий Origin на cookie)

T3 Code 61c3794c - Ping

IDпока нет CVE
КлассOrigin leftover
ДоступЛокальный (тикет в URL апгрейда или cookie-клиент, опускающий Origin)
CWECWE-346 / CWE-200
CVSSНизкий: 3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
ПродуктT3 Code
Затронуто61c3794c32b0eeebfac09add43e403618c65d2d7
Аутентификациявалидный wsTicket или сессионная cookie браузера
ЛицензияGNU Affero GPL v3.0
Лабораторияproduction authenticateWebSocketUpgrade на тестовом слое Effect

Что может сделать атакующий

Требуется живой wsTicket или cookie, которую браузер прикрепит. Lax-cookie не прикрепляются к межсайтовому рукопожатию WebSocket в текущих браузерах. Тикет в строке запроса — это путь, который полностью обходит Origin.

ПривилегияМетод / sinkРазведка / целостность / доступностьДоказано в лаборатории или выведено
Аутентифицировать апгрейд /ws с тикетом и враждебным OriginauthenticateWebSocketUpgrade, запрос wsTicketЦелостность (сессия на сокете)Доказано в лаборатории. ticket-hostile-origin=accepted, Origin https://evil.example
Аутентифицировать cookie-апгрейд без Origincookie-фолбэк через isBrowserOriginAllowed (origin === undefined возвращает true)ЦелостностьДоказано в лаборатории. cookie-missing-origin=accepted
Аутентифицировать Bearer-апгрейд с враждебного Originтот же аутентификатор, заголовок AuthorizationЦелостностьДоказано в лаборатории. bearer-hostile-origin=accepted (тест продукта; не cookie)
Негативный контроль: cookie + враждебный OriginOrigin http://192.168.1.50:8080н/дДоказано в лаборатории. отклонено ServerAuthInvalidCredentialError
Негативный контроль: cookie + доверенный OriginOrigin того же хостан/дДоказано в лаборатории. принято

Остаётся закрытым на этом leftover

ОсьМетод / sinkПочему закрыто
ЦелостностьCookie WebSocket с произвольного сайта с заголовком OriginisBrowserOriginAllowed отклоняет; SameSite=Lax также не передаёт cookie
ЦелостностьНеаутентифицированный /wsотсутствие учётных данных приводит к ошибке
ЦелостностьМежсайтовый cookie CSRF в текущих браузерахCookies.set sameSite: "lax" в apps/server/src/auth/http.ts

Строка аудита «нигде на пути апгрейда нет проверки Origin» слишком широка. Враждебный Origin для cookie отклоняется на этом пине. Остаток — это путь тикета и ветка cookie без Origin.

Как я это нашёл

GET /ws вызывает authenticateWebSocketUpgrade. Если присутствует wsTicket, функция проверяет тикет и возвращается до isBrowserOriginAllowed. Cookie-фолбэк действительно вызывает её. Я выпустил тикет и cookie-сессию на тестовом слое EnvironmentAuth и прогнал матрицу Origin через production-функцию.

Неверные пути: сообщение об «отсутствии проверки Origin» для cookie-апгрейдов (враждебный Origin отклоняется).

Лаборатория

python3 t3code-websocket-ticket-origin-Abraxas-Labs.py

или:

cd lab
./run.sh
IOC cookie-missing-origin=accepted
IOC cookie-hostile-origin=rejected
IOC cookie-trusted-origin=accepted
IOC ticket-hostile-origin=accepted
IOC bearer-hostile-origin=accepted
IOC samesite=lax
SUCCESS T3-F04-WSORIGIN t3f04o6n1

Исправление

Запускайте isBrowserOriginAllowed также и на пути тикета или привязывайте тикеты к Origin, который их выдал. Считайте отсутствующий Origin ошибкой для cookie-учётных данных, а не успехом. Добавьте явный список разрешённых Origin при апгрейде (devOrigin, t3code://app, настроенные хосты туннелей). Сохраните SameSite=Lax (или Strict).

Ссылки

  • github.com/pingdotgg/t3code 61c3794c32b0eeebfac09add43e403618c65d2d7
  • EnvironmentAuth.authenticateWebSocketUpgrade
  • CWE-346 · CWE-200

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только для локальной лаборатории. Без гарантий.

Abraxas Labs [email protected]

Пожалуйста, указывайте авторство CVE за Abraxas Labs.

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