Тестирование безопасности веб-приложений с Burp Suite

Тестирование безопасности веб-приложений с Burp Suite

Burp Suite — это интегрированная платформа для тестирования безопасности веб-приложений. Его различные инструменты эффективно работают вместе для поддержки всего процесса тестирования, от анализа карты сайта и поверхности атаки приложений до поиска и использования уязвимостей безопасности.
Burp дает вам полный контроль, сочетая передовые ручные методы с автоматизацией на основе искусства, что делает вашу работу быстрее, эффективнее и приятнее.

Настройки

 

Для правильной работы с любым инструментом важно его настроить под себя. В Burp Suite существуют 2 типа настроек:

 

  • User Options — Настройки относящиеся к самому Burp Suite
  • Project Options — Настройки к тому, что хакаешь

Кодировки

 

При исследовании русскоязычных ресурсов, часто в ответе от сервера вместо кириллицы могут отображаться кракозябры. Чтобы этого избежать можно установить кодировку UtF-8 и продолжать работу в нормальном режиме. Настройки кодировок находятся в User Options -> Display -> Characters Sets.

Тестирование безопасности веб-приложений с Burp Suite

Хоткеи

 

Чтобы действительно ускорить свою работу с Burp Suite стоит попробовать перейти на использование сочетаний клавиш. Можно использовать установленные по умолчанию, но также есть возможность перенастроить «под себя». Для управления хоткеями достаточно перейти в User Options -> Misc -> Hotkeys. Несколько полезных сочетаний:

 

  • Кодирование\декодирование:
    • Ctrl+(Shift)+U|H|B для “URL|HTML|Base64 (de)code”
  • Навигация по GUI:
    • Ctrl+Shift+T|P|S|I|R — “Переключение между утилитами”
    • Ctrl+I|R|D — «Отправить запрос в утилиту»
  • Burp Repeater:
    • Ctrl+G — «Выполнить запрос в Burp Repeater»

Proxy Interception

 

Бывало ли у вас такое, что настроив перенаправление траффика в Burp Proxy приложение почему-то не работало, а в истории запросы так и не появлялись? У меня было так практически каждый раз при старте нового проекта. Всё из-за того, что я забывал отключать перехват в прокси. Каждый раз… Чтобы не травмировать свою нервную систему, можно отключить по умолчанию эту полезную функцию. Перейдите в User -> Misc -> Proxy Interseption и выберите опцию «Always Disable».

Тестирование безопасности веб-приложений с Burp Suite

Приватность

 

Не смотря на доверие разработчикам из PortSwigger не стоит передавать лишнюю информацию на их сервера. Даже если вы и сами не против «поделиться», то у ваших заказчиков могут быть более строгие правила. Первое, что необходимо сделать — отключить отправку анонимных сообщений, отправляемых PortSwigger. Перейдите по пути User Options -> Misc -> Performance Feedback и запретите отправку.

Тестирование безопасности веб-приложений с Burp Suite

Если вы используете Burp Collaborator, то стоит поднять свой собственный и использовать его. Такое решение позволит обходить некоторые WAF, настроенных на блокировку burpcollaborator.net и его поддоменов. Для управления Burp Collaborator переходим в Project Options -> Misc -> Burp Collaborator Server

Приватность

Используйте конфиг по умолчанию

 

Чтобы не проделывать работу с настройками для каждого проекта, можно создать конфигурационный файл и загружать его при старте нового проекта. Для этого достаточно проделать следующие шаги:

 

  • Сделайте необходимые изменения
  • Сохраните настройки проекта и пользователя (это будут JSON файлы).
  • Объедините оба файла в один.
  • Обновляйте его по мере необходимости и храните в надежном месте (например, git репозитории).
  • Финальный конфиг будет выглядеть так:

{ "project_options":{ // options }, "user_options":{ // options } }

Отключение плагинов

При запуске Burp Suite вы можете отключить все плагины. Это может значительно сократить время загрузки, особенно если используется много надстроек.

Отключение плагинов

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

Ограничение по памяти

Burp Suite написан на Java, что обычно приводит к высокому потреблению памяти, особенно в случае длительного автоматического сканирования. Чтобы ограничить потребляемые ресурсы, вы можете использовать следующую команду:

java -jar -Xmx2048M burp.jar

Утилиты

 

В данном разделе будут советы по работе со встроенными утилитами в Burp Suite. Наиболее интересные из них:

 

  • Burp Proxy лежит в самом сердце управляемого пользователем рабочего процесса Burp Suite, позволяя вам перехватывать, проверять и модифицировать трафик, движущийся в обоих направлениях между сервером и клиентом.
  • Burp Repeater — инструмент для обработки HTTP-запросов, их редактирования и анализа ответов веб-приложений вручную.
  • Burp Intruder — мощный инструмент для автоматизации специализированных атак против веб-приложений. Это очень гибкий и хорошо настраиваемый инструмент, который может использоваться для выполнения огромного спектра задач, возникающих во время тестирования приложений.

Найти ссылки на хост

 

Иногда, появляется необходимость найти ссылки на определённый хост. Конечно, можно воспользоваться поиском в истории запросов, но есть более быстрый и эффективный способ. Переходим во вкадку Target -> Site Map, выбираем из списка необходимый хост, правый клик и Engagement tools -> Find reference. В результате, появится список запросов, ссылающихся на интересующий нас хост.

Найти ссылки на хост

Автозамена

Многие люди недооценивают полезность функции автокоррекции Burp Proxy. Он часто используется для подделки ответов сервера для отключения механизмов защиты в заголовках. Замените false на true, чтобы увеличить привилегированный доступ и т. д. Для меня наибольшая польза от этого механизма заключается в тестировании мобильных приложений.В самом интерфейсе приложения очень удобно набирать простые слова, чтобы можно было отправлять сложные фразы. Например, введите bxss и отправьте полную полезную нагрузку BlindXSS. Это также упрощает работу по вводу паролей. Вы можете найти настройки автозамены в Proxy -> Options -> Match and replace.

Автозамена

Переименование вкладок

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, как обычно, а затем выберите «Проверить определенные точки вставки» в контекстном меню. В результате будет сэкономлено достаточно времени, поскольку по умолчанию Burp Scanner проверяет все, что доступно по запросу, включая файлы cookie, заголовки, URI и параметры запроса.

Целевое сканирование

Обработка полезной нагрузки на лету

Burp Intruder позволяет настраивать различные обработчики полезной нагрузки перед отправкой запроса. Установленные правила выполняются последовательно, и их можно включить / отключить, чтобы помочь отладить некоторые проблемы конфигурации. Правила обработки могут быть полезны во многих различных ситуациях, когда вам нужно создать необычную нагрузку или, например, код.

Примеры доступных типов правил:

Add prefix / suffix — Добавляет текст до или после нагрузки.

  • Match / replace — Заменяет любую часть в нагрузке, подходящую под регулярное выражение, указанной строкой.
  • Encode / Decode — Кодирует или раскодирует нагрузку различных типов: URL, HTML, Base64, ASCII hex.
  • Hash — Производит операцию хэширования над нагрузкой.
  • Skip if matches regex — Проверяет удовлетворяет ли нагрузка указанному регулярному выражению и если это так, то пропускает нагрузку и переходит к следующей. Это может быть полезным, например, если вам известно, что значение параметра должно иметь минимальную длину и вы хотите пропустить все значения из списка, которые короче данного значения.

Обработка полезной нагрузки на лету

Сортировка результатов Intruder

Burp Intruder может помечать результаты, содержащие выражения, указанные в ответах сервера. Для каждого выражения Burp добавит столбец флажков в таблицу результатов. В результате вы можете четко увидеть интересные ответы и при необходимости сгруппировать их, щелкнув заголовок столбца.

Сортировка результатов Intruder

Использование этой опции становится более полезным при сканировании больших объемов результатов сканирования и позволяет быстро находить интересующие элементы. Например, при тестировании SQL-инъекций поиск сообщений, содержащих «ODBC», «error» и т. д. поможет вам быстро найти уязвимые настройки.

Заключение

Burp Suite — это мощный набор инструментов для тестирования безопасности веб-приложений и веб-сайтов. С помощью этого инструмента вы можете буквально протестировать то, что хотите. Программой могут пользоваться не только профессионалы, но и новички, приложив минимум усилий для ее освоения. Программа написана на Java, поэтому ее можно запускать на разных платформах, таких как Windows, Linux или Mac.

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.