Burp suite что это
Burp Suite – это мультитул для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. Стоит отметить и появление в последнем релизе мобильного помощника для исследования безопасности мобильных приложений — MobileAssistant для платформы iOS.
Burp Suite — это интегрированная платформа, предназначенная для проведения аудита веб-приложения, как в ручном, так и в автоматических режимах. Содержит интуитивно понятный интерфейс со специально спроектированными табами, позволяющими улучшить и ускорить процесс атаки. Сам инструмент представляет из себя проксирующий механизм, перехватывающий и обрабатывающий все поступающие от браузера запросы. Имеется возможность установки сертификата burp для анализа https соединений.
Если посмотреть статистику и репорты Bug Bounty программ — практически везде на скриншотах можно встретить использование этого инструмента. На ряду с OWASP ZAP это самый популярный набор утилит для тестирования веб-приложений.
На изображении использование Burp Scanner для анализа Damn Vulnerable Web Application (DVWA).
Существуют две версии Burp Suite: Professional и Free.
Хотя отличия по функционалу довольно существенны — Free версия является полноценным инструментом тестирования. Одно из главных отличий — отсутствие сканера в бесплатной версии и ограничение количества запросов за единицу времени. Также, в бесплатной версии отсутствуют встроенные пейлоады для интрудера, но вполне можно использовать и внешние, например: github.com/1N3/IntruderPayloads. Есть ограничения и по иcпользованию дополнений из BApp store. Существенным минусом также является отсутствие Burp Collaborator в бесплатной версии (использование внешней службы для выявления уязвимостей).
Состав
Основной функционал основан на следующих модулях:
Intruder
Одна из основных утилит для тестирования это Burp Intruder. Принцип его работы заключается в следующем: он обрабатывает каждый HTTP-запрос (называемый «базовым запросом»), изменяя параметры различными способами, выдавая каждую измененную версию запроса и анализируя ответы приложения для идентификации интересных функций или поведения веб-приложения.
Для каждой атаки существует возможность указать набор полезных нагрузок (пейлоадов) и их позиции в базовом запросе. Доступны многочисленные методы создания полезных нагрузок (в том числе простые списки строк, чисел, дат, брутфорс, битфлиппинг и многие другие). Для анализа результатов и выявления интересных вопросов для дальнейшего изучения доступны различные инструменты.
На изображении использование Burp Intruder — установка значений пейлоадов для подбора пароля.
Burp Intruder обладает очень гибкой системой настроек, благодаря чему может быть использован для автоматизации множества видов атак. Вы можете использовать его и для выполнения иных задач, например, подбора пользовательских идентификаторов, сбора важной информации или фаззинга.
Типы возможных атак зависят от особенностей конкретного приложения и могут включать: проверку на наличие SQL-инъекций, XSS, переполнение буфера, обход директории; bruteforce-атаки по различным схемам аутентификации, перебор значений, манипуляции с содержимым параметров; поиск скрытого содержимого и функционала, вычисление идентификаторов сессий и их перехвата, сбор данных, реализация DoS-атак связанных с особенностями веб-приложения.
На изображении использование Burp Intruder для выявления sql-инъекций — выбор пейлоадов.
Burp Intruder содержит (в Pro версии) множество заранее подобранных пейлоадов (строк, позволяющих выявить наличие уязвимостей). Кроме того, он содержит большое количество утилит для динамической генерации векторов атак, подходящих под конкретное приложение. Также в него могут быть загружены дополнительные пейлоды (например имена пользователей или пароли), либо специфичные фаззинг-запросы.
Основу работы каждой атаки составляет отсылка модифицированных HTTP-запросов. Их содержимое генерируется на основе первоначального запроса и установленными пейлоад-позициями. Результатом работы будет таблица с различными данными (статус, длина ответа и т.д.)
На изображении использование Burp Intruder для выявления sql-инъекций — атака.
Burp Intruder поддерживает следующие виды атак:
MobileAssistant
Burp Suite Mobile Assistant — это инструмент для облегчения тестирования приложений iOS с Burp Suite.
Он может изменять общесистемные параметры прокси-сервера устройств iOS, чтобы трафик HTTP(S) мог быть легко перенаправлен в Burp для анализа. Также он способен использовать SSL pinning — внедрение своего сертификата. Использовать мобильного помощника можно на джейлбрекнутых iOS устройствах, начиная от 8 версии iOS и до 10 (хотя на ней и не гарантируется стабильная работа). Для установки нужна Cydia и полноценный Burp на хост системе.
Появление данного инструмента значительно облегчит выявление уязвимостей OWASP Mobile Top 10.
Заключение
Burp Suite заслуженно является одним из популярнейших инструментов пентестеров по всему миру благодаря гибким возможностям, способам комбинировать ручные и автоматизированные методы анализа при проведении тестирования безопасности веб-приложений.
Примечание: как и любое программное обеспечение для тестирования безопасности, Burp Suite содержит функции, которые могут повредить веб-приложение. Тестирование безопасности по своей сути предполагает взаимодействие с веб-приложением нестандартными способами, которые могут вызвать проблемы у некоторых веб-приложений. Необходимо проявлять должную осторожность при использовании Burp Suite, создавать резервные копии перед проведением тестирования и не использовать Burp Suite против любых систем для которых вами не получено разрешение владельца ресурса.
Расширения Burp Suite для эффективного тестирования веб-приложений
Burp Suite – это платформа для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. В этой статье будут рассмотрены инструменты, повышающие эффективность Burp Suite при тестировании на проникновение веб-приложений.
Ранее я уже описывал основные возможности этой утилиты, в данной статье я остановлюсь на модуле Extender — управлением расширениями в BurpSuite.
Несмотря на то, что Burp Suite сам по себе довольно неплохой инструмент, его возможности можно существенно расширить с помощью дополнений — как размещенных в специальном магазине расширений — BAppStore, так и сторонних.
Существует специализированное API, которое позволяет интегрировать собственное расширение, написанное на Pyhton, Java или Ruby.
Расширения
HUNT Proxy Extension
Хорошей практикой тестирования веб-приложений является следование методологиям тестирования, для того чтобы наиболее полно исследовать веб-приложение и его компоненты. Для облегчения этой задачи существует отличное расширение HUNT Proxy Extension.
Это расширение не проверяет уязвимые параметры, а скорее предупреждает о них, чтобы пентестер мог проверить их вручную (более тщательно). Для каждого класса уязвимости HUNT определяет общие параметры или функции, связанные с этим классом уязвимости.
Это расширение позволяет пентестерам отправлять запросы и ответы на вкладку Burp под названием «HUNT Methodology». Эта вкладка содержит дерево с левой стороны, которое является визуальным представлением методологии тестирования. Отправляя запросы, пентестеры могут проверить что выполнили определенный шаг методологии.
burp-vulners-scanner
В BAppStore он называется Software Vulnerability Scanner. Это расширение от создателей базы данных уязвимостей vulners.com. С помощью данного расширения можно определять уязвимые компоненты веб-приложения и сразу получать ссылку на описание/эксплоит.
Это расширение может помочь значительно сэкономить время для идентификации уязвимых плагинов популярных CMS.
Burp Automator
В качестве средства автоматизации можно использовать встроенный сканнер, либо воспользоваться инструментом Burp Automator. Этот инструмент позволит автоматизировать проверки, использую в качестве основы Burp Suite, slackclient и burp-rest-api.
burp-xss-sql-plugin
Довольно популярный в узких кругах плагин от Владимира Иванова, для выявления XSS, OpenRedirects и SQLi. Неоднократно помогал автору в успешном участии в BugBounty прогрммах.
Autorize
Это расширение для автоматического выявления проблем авторизации веб-прилоежения Autorize был разработан чтобы помочь пентестерам выполнять автоматические тесты авторизационных параметров. В последней версии Autorize осуществляет автоматические проверки подлинности.
burplay
Burplay — это расширение Burp Extension, основная цель которого — помощь в поиске уязвимостей, приводящих к эскалации привилегий.
Основы Burp Suite. Что это и как им пользоваться.
Привет, друг. Продолжаем изучать приблуды полезные в вопросах пентеста. И в этой статье разберемся что такое Burp Suite и для чего он вообще нужен. А это крайне полезная и мощная штука. И, наверное, одна из самых популярных утилит для пентеста. Причем это не просто какая-то утилита, которая умеет выполнять какие-то функции, это платформа содержащая целый набор инструментов для аудита безопасности.
Установка и запуск Burp Suite
Burp Suite уже установлен в таких дистрибутивах как Kali Linux или Parrot Securiti. Там установлена версия Community Edition. Это бесплатная версия с ограниченным функционалом, но, тем не менее, её вполне можно использовать, не смотря на ограничения.
Если есть желание использовать Burp Suite на другом дистрибутиве, то скачать его можно с официального сайта https://portswigger.net. Только предварительно нужно будет установить виртуальную машину Java.
При запуске мы увидим окно создания проекта.
Есть три варианта проектов:
Temporary project — временный проект. Полученные данные не сохраняются и удаляются после закрытия программы.
New project on disk — результаты работы и все настройки будут сохранятся в файл Burp Suite. К ним можно будет вернуться позже.
Open existing project — открывает сохраненный проект из файла Burp Suite.
К сожалению, в бесплатной версии доступен только вариант с временным проектом. А потому, не заморачиваясь, давим кнопку Next.
В следующем окне нам предложат выбрать вариант конфигурации для проекта. Можно выбрать стандартную конфигурацию, либо конфигурацию конкретного проекта, либо загрузить конфигурацию из файла. Тут нужно помнить, что загружаются именно настройки касающиеся проекта, на настройки самой программы это никак не влияет. Пункт с загрузкой настроек из файла удобен если нужно часто использовать какие-то однотипные настройки проекта. Т.е. чтобы каждый раз не шаманить с опциями, можно один раз сохранить их в файл и потом оттуда подгружать.
Определившись с настройками проекта, жмем кнопку Start Burp.
Интерфейс Burp Suite
При первом запуске интерфейс может показаться замороченным и непонятным. Это не удивительно, потому что каждая вкладка отвечает за отдельный инструмент. Чтобы стало проще нужно разобраться какая вкладка за что отвечает и как это использовать. Вначале просто познакомимся где тут что, а потом я более подробно опишу ключевые возможности.
Dashboard — тут, я думаю понятно, здесь мы видим общее состояние программы, лог событий, можем включать и отключать некоторые функции, но я, вот прям, не уверен что-то кто-то активно использует эту вкладку.
Target — здесь мы будем видеть все наши цели и подробную информацию о них.
Proxy — это, наверное, наиболее востребованная вкладка. Суть в том, что бы перехватывать трафик между твои браузером и сервером, к которому идет запрос. Причем не просто перехватывать, а также можно его изменять. Причем это работает в обоих направлениях.
Intruder — здесь можно автоматизировать некоторые задачи, необходимость в которых возникает при тестировании.
Repeater — здесь можно посмотреть отправленные запросы, отправить их повторно, а также увидеть полученные ответы.
Sequencer — нужен для анализа степени рандомности тех моментов которые должны быть рандомными, это например токен сеанса приложения.
Decoder — здесь можно закодировать или раскодировать данные. Например если в запросе есть что-то закодированое base64, то раскодировать его мы можем прям тут. Вроде мелочь, но порой очень экономит время.
Comparer — может сравнивать данные, например два запроса, и показывать различия между ними.
Extender — сюда загружаются всякие расширения для улучшения функционала и получения новых возможностей в Burp Suite. Расширения можно добавлять самому, а можно установить из каталога.
Дальше находятся вкладки настроек. В принципе, на первых парах туда лазить не обязательно, все и так будет работать из коробки.
Настройка Burp Suite для работы с браузером
С интерфейсом мы, вроде как, познакомились, но что делать с этим всем, по прежнему не понятно. А потому нужно углубляться в тему дальше.
Одно из основных предназначение Burp Suite — это работать совместно с браузером. А именно перехватывать весь входящий и исходящий трафик. Чтобы трафик проходил через наш прокси, браузер нужно соответствующим образом настроить. Я покажу на примере Firefox, но в других браузерах принцип будет точно такой же.
Настройка Burp Suite
Для начала в Burp открываем вкладку Proxy, и в ней переходив в Options. Здесь в столбце Interface должно быть написано: 127.0.0.1:8080. Это означает что программа будет использовать петлевой интерфейс, а прокси-слушатель будет открыт на порту 8080.
Настройки браузера
Теперь нужно немного подкрутить настройки браузера. В меню выбираем «Настройки», потом «Параметры сети» и жмем «Настроить». Ставим галку на пункт «Ручная настройка сервиса прокси». И там где HTTP прокси вписываем 127.0.0.1, а порт вписываем 8080. Короче переписываем все то что было в Burp Suite. Потом отмечаем «Также использовать этот прокси для FTP и HTTPS». Если в поле «Не использовать прокси для:» что-то написано, нужно это от туда удалить.
В принципе все готово. Остался один небольшой нюанс, при заходе на сайты которые используют SSL сертификат (т.е. почти на все) браузер будет ругаться на сертификат. Это происходит потому что Burp Suite генерирует свой сертификат и сам его подписывает. Потому, чтобы браузер не ругался, нужно сертификат Burp добавить в браузер как доверенный.
Для этого, с запущенным Burp Suite, переходим в браузере по адресу http://burp. И жмем CA Certificate и сохраняем сертификат. Теперь в Firefox открываем меню и переходим в «Настройки», выбираем вкладку «Приватность и защита», а в ней «Сертификаты» и жмем «Просмотр сертификатов». Там выбираем «Центры сертификации», жмем «Импортировать» и выбираем скачанный нами сертификат. Ставим галку «Доверять при идентификации веб-сайтов» и жмем «ОК». Все готово, можно работать. Теперь любой запрос от нас или к нам будет сначала проходить через Burp Suite, а значит мы можем просмотреть этот запрос и, если нужно, немного его подредактировать. При этом, как и что редактировать. зависит от конкретной ситуации и поставленной задачи. Как-то акцентировать на этом внимание я не буду, ввиду нереального количества возможных вариантов, да и это уже сильно выходит за пределы ознакомления с программой.
Intruder
Ещё один инструмент о котором обязательно стоит сказать это Intruder. Крайне полезная приблуда кстати. Но это если научится ей пользоваться.
Смысл заключается в том что Intruder обрабатывает запросы с разными параметрами. При этом показывая вариант запроса и ответ на него, анализируя ответ на предмет того как отреагирует цель на изменение запроса. Таким способом можно тестировать на предмет вообще всего чего угодно. Хочешь sql-инъекции, хочешь брутфорс, можно dos-атаки делать. Можно просто какие-то данные собирать, например идентификаторы сессий или какие-нибудь скрытые страницы.
В целом, если коротко, принцип работы Intruder можно описать так: мы создаем первоначальный запрос, в котором, с использованием маркеров, помечаем какие значение нужно впоследствии подменять. А потом варианты его модификации т.е. то что будет подставляться в запрос. Запускаем и получаем результат, т.е. какой ответ получен на кокой-то вариант запроса.
В платной версии есть куча предустановленных шаблонов, под разные ситуации. В бесплатной придется все делать ручками. Ну или искать шаблоны.
Ну, а на этом наше знакомство с Burp Suite можно заканчивать. Как видишь, это очень многофункциональный инструмент, но как любая подобная штука, требующий постоянной практики и глубоких знаний. А потому, если твоя деятельность непосредственно связана с информационной безопасностью, то тебе наверняка стоит изучить Burp Suite и его возможность подробно и в деталях.
Burp Suite Tips
Burp Suite – это платформа для выполнения тестирования по безопасности веб-приложений. В этой заметке я поделюсь несколькими приёмами, как использовать данный инструмент более эффективно.
Настройки
Для правильной работы с любым инструментом важно его настроить под себя. В Burp Suite существуют 2 типа настроек:
Кодировки
Хоткеи
Proxy Interception
Приватность
Используйте конфиг по умолчанию
Чтобы не проделывать работу с настройками для каждого проекта, можно создать конфигурационный файл и загружать его при старте нового проекта. Для этого достаточно проделать следующие шаги:
Отключение плагинов
При запуске Burp Suite можно отключать все плагины. Это значительно может ускорить загрузку, особенно если используется множество дополнений.
Включить необходимые дополнения можно позже, учитывая специфику проекта.
Ограничение по памяти
Burp Suite написан на Java, что часто приводит к большому потреблению памяти, особенно в случае долгих автоматических проверок. Для ограничения потребляемых ресурсов можно воспользоваться следующей командой:
Утилиты
В данном разделе будут советы по работе со встроенными утилитами в Burp Suite. Наиболее интересные из них:
Найти ссылки на хост
Автозамена
Переименование вкладок
Burp Suite позволяет именовать вкладки, когда я узнал об этой возможности, то моей радости не было предела. Сделав двойной клик по заголовоку вклади запроса, можно записать полезную информацию, которая поможет вспомнить что к чему спустя какое-то время.
Работает это не только в Burp Repeater, но и в Burp Intruder, что также бывает полезным.
Автопрокрутка
Очень удобной является функция автопрокрутки при поиске в запросах или ответах. Burp будет автоматически перепрыгивать на результат, после отправки запроса, ускоряя вашу работу. Для включения опции после ввода в поисковой строке того, что вы хотите найти, нажмите кнопку «+», чтобы получить доступ к опциям поиска и отметье «Auto-scroll to match when text changes».
Отчёты
При оформлении отчётов гораздо больше информации поместится и симпатичней будут смотреться скриншоты с вертикальным расположением запроса\ответа. Для этого в опциях Burp Repeater отметьте View->Top/bottom split
Целевое сканирование
Вы можете использовать интерфейс Burp Intruder, чтбы сконфигурировать сканирование с использованием Burp Scanner только на необходимые параметры, заголовки и т.п. Для этого, выставите маркеры в нужном вам запросе в интерфейсе Burp Intruder так, как вы это делаете обычно, а затем выберите «Scan defined insertion points» из контекстного меню. В результате будет сэкономлено достаточно времени, т.к. по умолчанию Burp Scanner тестирует все, что доступно в запросе, включая cookies, заголовки, URI, параметры запроса.
Обработка полезной нагрузки на лету
В Burp Intruder можно устанавливать различные обработки полезной нагрузки, до отправки запроса. Установленные правила выполняются последовательно, могут быть включены/отключены, чтобы помочь подебажить в случае каких-то проблем в конфигурации. Правила обработки могут быть полезными во множестве различных ситуациях, где вам нужно сгенерировать необычную нагрузку, или, например, закодировать.
Примеры доступных типов правил:
Сортировка результатов Intruder
В Burp Intruder можно помечать результаты, содержащие заданные выражения в ответах от сервера. Для каждого выражения Burp добавит столбец с чекбоксами в таблицу с результатами. В результате, можно будет явно увидеть интересные ответы, а при необходимости сгруппировать, кликнув на заголовок столбца.
Использование этой опции становится максимально полезным при анализе больших объемов результатов сканирований и позволяет быстро находить интересующие вас вещи. Например, при тестировании SQL инъекций поиск сообщений содержащих «ODBC», «error» и пр. помогут быстро отыскать уязвимые параметры.
Burp и его друзья
В этой статье мы расскажем о полезных плагинах для Burp Suite Professional — инструмента для анализа веб-приложений. Плагинов много, и, чтобы помочь аудиторам сделать правильный выбор, мы составили список тех, которые сами чаще всего используем в работе.
Кратко о Burp Suite
Burp Suite предназначен для анализа и поиска уязвимостей в веб-приложениях, а также последующего проведения атак. Благодаря богатому набору инструментов, входящих в него, Burp позволяет работать с HTTP-запросами и ответами, вмешиваться в механизм аутентификации, фаззить параметры в запросах, составлять карту веб-приложения и многое-многое другое.
Удобство Burp Suite заключается в том, что все утилиты и плагины, которые дополняют его, могут взаимодействовать друг с другом. В настройках браузера вы можете установить в качестве прокси Burp Suite (для сайтов, работающих по HTTPS, также будет нужно установить сгенерированный TLS-сертификат Burp). В этом случае все ваши действия в браузере, а именно отправленные запросы и полученные ответы, будут сохраняться в Burp Proxy. Кроме браузера, на десктопе можно попробовать перенаправить в Burp HTTP-трафик из мобильных приложений, да и вообще любой HTTP-трафик, будь то десктопное приложение или какое-нибудь IoT устройство. HTTP-запросы из истории Proxy можно пересылать в другие инструменты и работать с ними.
Например, вам нужно проверить, можно ли устроить bruteforce-атаку на подбор OTP-кода. Для этого вам нужно перехватить запрос на проверку OTP.
… и отправить этот запрос в инструмент Intruder.
После этого нам достаточно будет выделить место в HTTP-запросе, которое нужно атаковать, и настроить значения, которые будут применяться, – в данном случае у нас перебор чисел от 0000 до 9999.
Либо можно воспользоваться инструментом Repeater для того, чтобы вручную выполнять какие-либо проверки, тесты или атаковать веб-приложение. Например, можно легко проэксплуатировать SQL-инъекцию в случае, если какие-нибудь иные инструменты вроде sqlmap не могут с ней справиться.
Этим инструментарий Burp Suite не ограничивается. Приведем список стандартных инструментов Burp Suite “из коробки”:
Также стоит отметить, что Burp поддерживает работу с WebSocket, позволяя так же, как и при работе с протоколом HTTP, перехватывать и модифицировать запросы, передаваемые через WebSocket. А в новых версиях добавили функциональность, аналогичную Repeater, только для WebSocket.
Подробно останавливаться на каждом элементе Burp Suite мы не будем, а перейдем скорее к самому интересному — полезным дополнениям и расширениям.
Param-miner
Про param-miner мы упоминали, когда обсуждали Arjun. Этот инструмент аналогичен Arjun, но работает в Burp и, кроме параметров, может находить еще скрытые заголовки и Cookie. Изначально разрабатывался как средство для поиска скрытых параметров, которые могут быть полезны при поиске уязвимостей типа Web Cache Poisoning.
Stepper
Stepper — улучшенная версия Repeater, позволяющая отправлять последовательности запросов. При этом можно использовать параметры из предыдущих запросов и ответов, чтобы отправить запрос, следующий в цепочке. Кроме того, полученные параметры можно использовать также и в обычном Repeater.
Самый простой способ использования следующий. Допустим, для каждого нового запроса вам нужно получить новый CSRF-токен. Делать это вручную крайне неудобно. Вместо этого вы можете сделать последовательность в Stepper, которая будет сначала получать CSRF-токен, после чего выполнять нужный вам запрос. Для этого вам нужно будет в первом запросе указать, что является параметром, и добавить его как переменную (csrf_token в примере).
А затем в следующем запросе указать, куда этот параметр подставить, используя название переменной ($VAR:csrf_token$). В итоге Stepper сможет выполнить корректную последовательность запросов. Результаты подстановки можно будет увидеть во вкладке Stepper Replacements.
Используя возможности Stepper, можно легко заскриптовать такие действия, как многоступенчатая покупка или сложный процесс аутентификации, что значительно упрощает процесс тестирования сложной логики в веб-приложениях.
Turbo intruder
Turbo Intruder — более быстрый аналог Intruder, оснащенный скриптовым движком для отправки большого количества HTTP-запросов и анализа результатов. Полезен, если ВАМ НУЖНА СКОРОСТЬ! Очень эффективен при поиске уязвимостей, связанных с «состоянием гонки» (Race Condition), поскольку имеет внутри небольшой скриптовый движок на Python, в котором есть специальные функции для тестирования Race Condition (например, одномоментная отправка запросов). Возможности расширения позволяют заскриптовать различную логику, например многоступенчатую аутентификацию.
Пример простой bruteforce-атаки с использованием Turbo Intruder:
Для сравнения устроим с помощью Intruder и Turbo Intruder bruteforce-атаку для подбора OTP, состоящего из 4-х цифр от 0000 до 9999. Будем использовать 50 потоков. В нашем эксперименте Turbo Intruder справился всего за 18 секунд, в то время как Intruder за 18 секунд совершил лишь примерно 1000 запросов!
Freddy
Примеры уязвимостей, которые может обнаруживать Freddy:
Backslash Powered Scanner
Backslash Scanner — еще один плагин, который неплохо дополняет стандартные проверки Active Scanner. Внутри плагина используются специальные техники, позволяющие обнаружить нестандартное поведение веб-приложений при обработке запросов с различными последовательностями спецсимволов. Это бывает очень полезно в случае, если на стороне веб-приложения используется фильтрация/WAF или сама уязвимость нетривиальная и сложно эксплуатируемая. В этом случае Backslash Scanner укажет вам на те места в запросе, которые требуют пристального внимания, что будет хорошим стартом для анализа уязвимости.
Пример репорта Backslash Scanner:
Active Scan ++
Active Scan ++ также дополняет стандартный сканер Burp Suite некоторыми проверками, которые не входят в стандартный комплект поставки Burp.
J2EEScan
J2EEScan — плагин, заточенный для атак на J2EE (Java 2 Enterprise Edition) приложения. «Под капотом» имеет большое количество проверок, связанных с Java-приложениям, в том числе проверки на известные уязвимости вроде “Apache Struts”. Проверки также добавляются в стандартный Burp Scanner. На практике этот сканер далеко не часто что-либо находит, но иметь его под рукой точно стоит.
Upload Scanner
Upload Scanner — еще один плагин для дополнения проверок Active Scanner. Поможет проверить точки загрузки файлов на такие известные уязвимости, как ImageTragic, инъекции PHP в метадату изображения, загрузку файла htaccess и т.д.
Error Message Checks
Error Message Checks — плагин, который пассивно обнаруживает различные stacktrace и вывод ошибок в веб-приложении, которые могут появиться при сканировании или crawling’е. Это очень полезно, поскольку не все сканеры могут обнаружить сообщения об ошибках сервера и оповестить о них, потому это часто остается незамеченным для аудитора, который смотрит на приложение со стороны пользователя.
Decoder Improved
Decoder Improved — по сути, улучшенный стандартный Decoder. Встроенный Decoder в Burp не так уж и хорош и имеет свои недостатки: в нём нет вкладок, неудобно использовать Hex-редактор, к тому же имеет довольно скудное количество возможных форматов данных. С этими проблемами и помогает справится Decoder Improved.
Hackvertor
Hackvertor — плагин, который также поможет преобразовать данные в запросах и ответах. Только для этого не придется переключаться между вкладками. При работе с ним в Repeater или Intruder появляется возможность оборачивать пейлоады в специальные теги, с помощью которых задаются правила кодирования или декодирования данных. А все преобразования происходят “на лету” во время отправки запроса. А еще у него есть форк, который работает с pareq. Он пригодится при тестировании 3D Secure от нашего коллеги web_rock.
Logger++
Logger++ плагин, главная задача которого — тщательно логировать все запросы, происходящие внутри Burp Suite. Как те, что просто “летят” из браузера, так и те, что генерируются плагинами и сканером. Плагин устраняет основной недостаток встроенного Proxy History — логирование запросов только из браузера и отсутствие прочих запросов из “недр” Burp, например запросов конкретного плагина, запросов из других инструментов (например, Repeater) или сканера в текущий момент. Плагин поддерживает фильтрацию логов. Так, вы можете найти все POST-запросы без CSRF-токена. Для этого нужно, побродив по ресурсу, отфильтровать историю запросов по методу запроса и интересующему параметру.
HTTP Mock
HTTP Mock — плагин, который будет полезен, если вам надо подменять не просто кусочек ответа (тогда вам поможет Match&Replace в настройках Proxy Intercept), а целиком весь ответ для определенных URL.
Request highlighter
Request highlighter — плагин для подсветки HTTP-запросов на основе содержимого заголовков. Удобно для выделения уникальных Cookies, хостов, токенов аутентификации, пользовательских заголовков. С помощью плагина во вкладке Proxy History можно помечать запросы, относящиеся к различным сессиям, хостам, браузерам или устройствам. Данная функциональность может быть очень полезна, если нужно протестировать сайт с нескольких браузеров с разными пользовательскими сессиями — плагин будет подсвечивать запросы соответствующими цветами.
Autorize
Autorize — плагин для проверки уязвимостей, связанных с разграничением прав доступа в веб-приложении. Удобен и прост в работе. По большей части всё, что нужно, — это просто указать, где в запросе места, по которым определяется сессия пользователя, и подставить нужные значения. Далее плагин будет повторять все запросы, которые вы делаете в браузер, но уже с другими сессионными идентификаторами, что позволяет очень быстро проверить IDOR’ы в приложении.
HTTP Request Smuggler
HTTP Request Smuggler — плагин для проверки недавно заново открытых атак типа HTTP Request Smuggling. Несмотря на то, что стандартный сканер Burp Suite также выполняет проверки на данную уязвимость. Этот плагин обновляется чаще, и его можно запускать отдельно от остального сканирования, что бывает удобно, если нужно проверить только эту уязвимость.
PHP Object Injection Check / PHP Object Injection Slinger
PHP Object Injection Check и PHP Object Injection Slinger — плагины, которые позволяют проверить уязвимости в десериализации PHP-объектов. Первый просто добавляет несколько проверок в стандартный Burp Scanner, а второй представляет собой незасимый сканер, в который отдельно нужно добавлять запросы. PHP Object Injection Slinger содержит в себе множество различных проверок из PHPGGC — инструмента для создания payload’ов для десериализации в PHP.
CSP Auditor
CSP Auditor — плагин, который помогает обнаружить слабости в конфигурации CSP. Кроме того, он парсит CSP из ответа сервера и отображает их в более удобном для чтения и анализа виде.
Заключение
Все перечисленные плагины используются нами в работе и помогают облегчить поиск, обнаружение и эксплуатацию уязвимостей. А это в будущем помогает сделать приложение и его использование безопаснее.