По сути: это Turbo Intruder, заточенный под WebSocket, плюс HTTP-middleware для автоматизации.
Зачем это нужно
🟡 WebSocket — не HTTP: один запрос ↔️ много входящих сообщений. Классические фазы ломаются.
🟡 WebSocket Turbo Intruder позволяет отправлять тысячи WebSocket-сообщений и фильтровать ответы, чтобы не утонуть в шуме.
🟡 Есть режим, который оборачивает WebSocket в HTTP — удобно для интеграции в CI/сканеры и Burp Pro.
Как поставить
Extensions → BApp Store → WebSocket Turbo Intruder или CLI:java -jar WebSocketFuzzer-2.0.0.jar <scriptFile> <requestFile> <endpoint> <baseInput>
Если ручной просмотр таблицы результатов не твой стиль, ты можешь обернуть WebSocket соединение внутри HTTP запроса, используя WebSocket Turbo Intruder HTTP Middleware.
def create_connection(upgrade_request):
connection = websocket_connection.create(upgrade_request)
return connection
def handle_outgoing_message(websocket_message):
results_table.add(websocket_message)
@MatchRegex(r'{"user":"You"')
def handle_incoming_message(websocket_message):
results_table.add(websocket_message)
Теперь ты можешь отправлять HTTP POST запрос на localhost, где тело запроса обрабатывается как WebSocket сообщение. Это позволяет сканировать любой WebSocket с помощью Burp Suite Pro или другого автоматизированного сканера.
POST /proxy?url=https://example.com/endpoint HTTP/1.1
Host: 127.0.0.1:9000
Content-Length: 16
{"message":"hi"}
Помимо обычных ошибок приложений, WebSockets создают свою уникальную поверхность для атак. Главная цель расширения — помочь тебе их найти и проэксплуатировать.
💡 Еще больше юзкейсов в анонсе PortSwigger

