1.0Kпросмотров
36.1%от подписчиков
16 марта 2026 г.
📷 ФотоScore: 1.1K
🕷 Веб-сокеты для багхантера В отличие от обычного HTTP, где каждый запрос требует отдельного ответа, WebSocket создаёт постоянный двунаправленный канал связи. После установки соединения клиент и сервер могут обмениваться данными напрямую — без повторных HTTP-заголовков и новых запросов. Как устанавливается соединение ⬇️ Соединение начинается с обычного HTTP-рукопожатия. Клиент отправляет запрос:
GET /chat
Connection: Upgrade
Upgrade: websocket Если сервер поддерживает веб-сокеты, он отвечает:
HTTP/1.1 101 Switching Protocols После этого соединение остаётся открытым и дальнейший обмен идёт по протоколу ws:// или wss://. 🤑 Почему веб-сокеты часто приводит к багам Разрабы обычно проверяют пользователя во время handshake, но забывают проверять сообщения внутри соединения. Из-за этого появляются типичные уязвимости. ➡️ CSWSH (Cross-Site WebSocket Hijacking) Если сервер использует только файлы cookie для установления соединения и игнорирует заголовок Origin, ты можешь заставить браузер жертвы открыть WS-соединение и украсть данные. ➡️ IDOR и несанкционированный доступ Если сервер принимает команды без проверки прав пользователя, можно отправлять запросы напрямую через веб-сокеты.
{"user_id": 1337, "action": "delete"} ➡️ Инъекции Иногда веб-сокеты передаются дальше во внутренние сервисы или админ-панели без фильтрации. Это может приводить к SQLi, CMDi и другим багам. ⚙️ Тулчейн ✅ Burp Suite: WebSockets History и Repeater — твои лучшие друзья. Перехватывай, изменяй и удаляй фреймы ✅ STEWS: автоматически ищет веб-сокет эндпоинты и собирает фингерпринты ✅ Wscat: CLI-клиент для быстрого тестирования веб-сокет соединений ✅ WebSocket Turbo Intruder: расширение для фаззинга веб-сокет сообщений с использованием кастомного Python-кода 🔗 Пак лабораторий PortSwigger по теме