Burp Suite
Написанный на Java фреймворк для пентеста web и mobile приложений. Скачать можно отсюда.
В самом простом понимании представляет из себя некий прокси сервер который устанавливается между веб сервером и браузером клиента, пропуская через себя все запросы/ответы. Захваченные пакеты могут быть направлены в смежные модули Burp Suite для последующих конкретных действий над ними. Различают 3 версии Burp Suite:
-
Burp Suite Community - основая версия без всяких плюх
-
Burp Suite Professional - платная версия с кучей плюх по автоматизации, гибким конфигам, увеличению скорости работы некоторых модулей
-
Burp Suite Enterprise - платная версия работающая только на серваке для выполнения задач постоянного контроля на наличие уязвимостей.
В Burp Suite Community входят следующие модули/инструменты:
-
Proxy - Основной модуль. Перехватывает все запросы/ответы и позволяет их редактировать перед отправкой. Для быстрой настройки прокси сервера рекомендую использовать плагин FoxyProxy
-
Repeater - В дополнение к Proxy позволяет отправлять данные n-ное количество раз.
-
Intruder - Забросает endpoint запросами. Полезен при брутфорсе. В Burp Suite Community версии сильно урезан по скорости.
-
Decoder - Кодирует/декодирует данные в запросах приводя их в нужный вид(URL, HTML, Base64, ASCII hex, Hex, Octal, Binary, Gzip). Вычисляет хэш.
-
Comparer - Сравнивает куски полученной информации для нахождения различий.
-
Sequncer - Анализирует степень случайности различных токенов таких как куки сессий и прочее. Вдруг они не совсем случайны? ☺
Кроме указанных модулей, можно разрабатывать свои.
Proxy.
По умолчанию не перехватывает js скрипты и некоторые другие файлы. Иногда это бывает очень нужно для обхода фильтров на стороне клиента по загрузке файлов на сервер. Для изменения такого поведения во вкладке options необходимо в таблицах intercept client requests и intercept server responses убрать из фильтра нужное расширение или просто целиком отключить это условие.
Для обработки ответа на запрос используется пункт контекстного меню:
Do intercept -> Response for this request.
Repeater.
Позволяет изменять данные которые перехватил Proxy, изменять их и отправлять измененные запросы множество раз. Возможность многократно обращатся к целевой странице перебирая данные отличный инструмент для получения сведений о том, как целевая страница ведет себя при разных передаваемых данных.
В правой части окна Repeater расположена секция Inspector. В ней отображены значения из заголовков и тела запроса и ответа в табличном виде которые можно редактировать:
-
Request atributes - тип протокола, метод, запрашиваемый путь
-
Request querry parameters - отображает данные передаваемые в GET запросе
-
Request Body parameters - отображает данные передаваемые в или POST запросе
-
Request cookies - отображает в табличном виде cookies
-
Request headers - отображает передаваемые HTTP заголовки
-
Responce headers - отображает получаемые HTTP заголовки
Intruder
Инструмент для фаззинга web приложений. Позволяет перебирать указанные значения в конкретном запросе. Поддерживает различные способы задания списка слов, различные способы атак:
-
Sniper - используя один список слов, подставляет каждое слово из списка в каждое исследуемое значение
-
Battering Ram - используя один список слов подставляет каждое слово сразу во все исследуемые значения
-
Pitchfork - используется несколько списков, для каждого значения свой список
-
Cluster Bomb - используется несколько списков, в каждое значение подставляются слова из каждого списка.