Mitmproxy 12 — полный разбор изменений и новых возможностей

Mitmproxy

Вышла новая версия mitmproxy 12 с интерактивными Contentviews! Теперь можно редактировать красиво отображаемые бинарные протоколы прямо в интерфейсе, а программа сама преобразует изменения обратно в исходный бинарный формат.

Еще по теме: Как установить и использовать Mitmproxy

Интерактивные Contentviews

С самого начала, в 2011 году, mitmproxy умел красиво отображать содержимое HTTP-сообщений. Позже, в 2015-м, эта функция стала доступна и в консоли, и в веб-интерфейсе, а чуть позже появились пользовательские кастомные представления. Раньше все это было только для чтения — редактировать бинарные протоколы можно было только напрямую, изменяя сырые байты.

Изменение gRPC-сообщения на лету.

С новым интерактивным режимом Contentviews можно менять человекочитаемую, «красивую» версию данных, и mitmproxy автоматически преобразует их обратно в бинарный формат. Это особенно удобно для экспериментов с неизвестными протоколами вроде gRPC/Protobuf или MsgPack.

Пример: gRPC и Protobuf

Особенно выиграли gRPC и Protobuf. Теперь можно редактировать Protobuf-сообщения прямо в mitmproxy:

  • Известные Protobuf: укажите путь к .proto файлу через опцию protobuf_definitions и редактируйте поля по именам.
  • Неизвестные Protobuf: имен полей нет, но можно менять примитивные значения (строки, числа, вложенные сообщения), а mitmproxy автоматически перекодирует изменения.

Новый Contentview API

В основе интерактивности лежит переработанный и упрощённый Contentview API. Теперь метод prettify просто принимает байты и возвращает строку, а reencode делает обратное.

Пример простого интерактивного Contentview, который отображает данные в HEX:

Добавить его в mitmproxy просто: mitmproxy -s example.py.

Contentviews на Rust

С новым API стало проще писать Contentviews на Rust. Это позволяет создавать безопасные и производительные представления, используя возможности экосистемы Rust и Serde. Новые Contentviews для gRPC, Protobuf и MsgPack написаны именно на Rust.

Другие улучшения mitmproxy 12

  • Добавлена возможность множественного выбора потоков в mitmweb с помощью Ctrl+Click и Shift+Click. Теперь можно удалять, дублировать, помечать, откатывать, воспроизводить, возобновлять и прерывать несколько потоков одновременно.

  • Добавлена функция сохранения стримингового тела запросов и ответов для последующего анализа.

  • Поддержка TLS 1.3 Post Handshake Authentication для безопасного обмена после установления соединения.

  • В документации появилась полноценная функция поиска, чтобы быстрее находить нужные команды и инструкции.

  • Новый визуальный стиль для docs.mitmproxy.org, удобный для долгого чтения документации по безопасности.

  • Добавлены записи CRL в тестовые сертификаты, если у исходного сертификата есть отозванные записи, повышая точность тестирования TLS.

  • Исправлена ошибка, из-за которой mitmproxy некорректно отправлял пустые фреймы HTTP/2.

  • Улучшена команда установки через Homebrew для пользователей Brewfile.

  • Исправлена преждевременная остановка mitmdump в режиме серверного воспроизведения потоков.

  • Исправлен баг, когда при получении сообщения окно WebSocket Messages прыгало вверх.

  • Добавлен просмотр содержимого для Socket.IO поверх WebSocket.

  • Ошибки HTTP_1_1_REQUIRED теперь корректно передаются в потоках HTTP/2.

  • Исправлен сбой при экспорте HAR для некорректных потоков.

  • Исправлен сбой mitmweb при просмотре потоков с неопределёнными заголовками.

  • Исправлен баг, из-за которого mitmproxy по умолчанию не слушал IPv4 и IPv6 в WireGuard-режиме.

  • Подкорректировано расположение всплывающих подсказок в браузерах с поддержкой anchor-позиционирования (Chrome, Edge).

  • Исправлен сбой mitmweb при поиске или подсветке с помощью ~h, ~hq или ~hs.

  • mitmproxy.dns.Message переименован в mitmproxy.dns.DNSMessage.

mitmproxy продолжает развиваться как мощный инструмент для разработчиков, тестировщиков и специалистов по безопасности. Версия 12 делает работу с бинарными протоколами заметно удобнее. Скачать свежую версию можно на официальном сайте mitmproxy.org.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

Добавить комментарий