Авторство: acc2ss
Введение
Эта статья предназначена для новичков в области безопасности веб-приложений. Она поможет вам узнать о Burp Suite, как его скачать и установить, и как использовать его компоненты.
Что такое Burp Suite?
Burp Suite - это инструмент для тестирования безопасности веб-приложений, разработанный компанией PortSwigger. Он предоставляет широкий спектр функций, которые помогают находить и эксплуатировать уязвимости в веб-приложениях.
Burp Suite состоит из следующих компонентов:
- Proxy: Burp Proxy перехватывает весь трафик между вашим компьютером и веб-сайтом. Это позволяет просматривать и изменять трафик
- Intruder: Burp Intruder позволяет выполнять автоматизированные атаки на веб-приложения. Это может быть полезно для поиска уязвимостей, таких как SQL-инъекции и XSS.
- Repeater: Burp Repeater позволяет повторно отправлять HTTP-запросы и просматривать их ответы. Это может быть полезно для анализа ответов на запросы и поиска уязвимостей, таких как уязвимости раскрытия информации о конфигурации.
- Decoder: Burp Decoder позволяет декодировать различные типы данных, такие как URL-адреса, файлы cookie и заголовки HTTP. Это может быть полезно для анализа ответов на запросы и поиска уязвимостей, таких как уязвимости в кодировании символов.
- Scanner: Burp Scanner выполняет автоматизированный анализ веб-приложений на наличие известных уязвимостей. Это может быть полезно для быстрого обнаружения уязвимостей, но важно помнить, что он не обнаруживает абсолютно все уязвимости.
- Spider: Burp Spider сканирует веб-сайты и собирает информацию о них. Это может быть полезно для понимания структуры веб-сайта и выявления потенциальных уязвимостей.
Этап 1: Скачиваем и устанавливаем
Для этой статьи я буду использовать систему kali linux с gui. как установить я описывал здесь - https://xss.pro/threads/105261/
Cкачать Burp Suite, можно на сайте PortSwigger, разработчика Burp Suite. - https://portswigger.net/burp/
Для этой статьи я буду использовать версию Burp Suite Community Edition, которая является бесплатной.
После скачивания файла, нам нужно перенести его в любую удобную для вас папку.
Далее открываем терминал, вводим
chmod +x название.sh(без него лично у меня не получилось), переходим по директории с файлом(ls, cd) и вводим команду: ./полное название файла.sh и следуем инструкциям установщика.Этап 2: Настраиваем Burp Suite и браузер
После установки Burp Suite необходимо настроить его для удобного использования:
1. Прокси: В Burp переходим во вкладку Proxy -> Proxy Settings и нажимаем Add. Во вкладке Binding прописываем следующие параметры - Bind to port: 8080; Bind to address: 127.0.0.1; Вкладка Certificate выбираем Generate CA-signed per-host; Вкладку TLS не трогаем, должно стоять стандартное значение(не кастомно). Вкладка HTTP - Support HTTP/2
2. Настройка браузера(firefox): Переходим в настройки -> General -> Network Settings -> Manual; Вписываем как у меня:
4. Не забываем про расширения, их вы можете установить во вкладке Extensions.
Этап 3: Теоретическая часть(использование разберем в практической части)
1. Dashboard:
Dashboard - это компонент, который предоставляет централизованное представление о всех ваших проектах и задачах. Он позволяет вам отслеживать прогресс ваших тестов, получать уведомления о важных событиях и управлять своими проектами.
Dashboard может быть полезен для следующих целей:
- Отслеживание прогресса ваших тестов: показ сводной информации о всех ваших проектах, включая количество проверенных страниц, обнаруженных уязвимостей и т.д.
- Получение уведомлений о важных событиях:отправление уведомлений о важных событиях, таких как обнаружение новых уязвимостей или завершение задачи.
- Управление своими проектами: предоставление инструментов, которые позволяют вам управлять своими проектами, такими как добавление новых проектов, изменение параметров проектов и т.д.
2. Target
Target - это компонент, который позволяет вам определять целевые веб-приложения и собирать информацию о них. Он предоставляет инструменты, которые позволяют вам сканировать веб-сайты, анализировать их структуру и выявлять потенциальные уязвимости.
Target может быть полезен для следующих целей:
- Определение целевых веб-приложений:определение целевых веб-приложений, используя различные методы, такие как ввод URL-адресов, импорт файлов и сканирование сети.
- Сбор информации о целевых веб-приложениях: сбор информации о целевых веб-приложениях, включая структуру веб-сайта, используемые технологии и потенциальные уязвимости.
3. Proxy
Proxy - это компонент, который позволяет перехватывать и анализировать трафик между вашим компьютером и веб-сайтом. Он предоставляет инструменты, которые позволяют вам просматривать запросы и ответы, а также изменять их.
Proxy может быть полезен для следующих целей:
1. Перехват и анализ трафика: может быть полезно для следующих целей:
- Поиск уязвимостей: Вы можете использовать Proxy для поиска уязвимостей в веб-приложениях, просматривая запросы и ответы.
- Разработка веб-приложений: Вы можете использовать Proxy для разработки веб-приложений, просматривая запросы и ответы, которые веб-приложение отправляет и получает.
- Отправка специальных запросов: отправка специальных запросов веб-приложению, которые не могут быть отправлены непосредственно из браузера.
- Эксплуатация уязвимостей: эксплуатация уязвимостей в веб-приложениях, изменяя трафик, отправляемый или получаемый веб-приложением.
4. Intruder
Intruder - это компонент, который позволяет выполнять автоматизированные атаки на веб-приложения. Он предоставляет инструменты, которые позволяют изменять значения параметров запроса и отслеживать результаты.
Intruder может быть полезен для следующих целей:
- Поиск уязвимостей: Intruder может быть использован для поиска уязвимостей в веб-приложениях, таких как SQL-инъекции и XSS атаки.
- Эксплуатация уязвимостей: Intruder может быть использован для эксплуатации уязвимостей в веб-приложениях.
5. Repeater
Repeater - это компонент, который позволяет повторно отправлять HTTP-запросы и просматривать их ответы. Он предоставляет инструменты, которые позволяют изменять запросы и отслеживать результаты.
Repeater может быть полезен для следующих целей:
- Анализ ответов: анализ ответов на HTTP-запросы. Это может быть полезно для поиска уязвимостей, таких как внедрение вредоносного кода или информации конфигурации.
- Тестирование параметров: тестирование параметров HTTP-запросов. Это может быть полезно для поиска уязвимостей, таких как SQL-инъекции и XSS атаки.
- Отладка запросов: отладка HTTP-запросов. Это может быть полезно, если вы не уверены, что вызывает ошибку в веб-приложении.
6. Collabarator
Collaborator - это компонент, который позволяет работать с другими пользователями при тестировании веб-приложений. Он предоставляет инструменты, которые позволяют обмениваться информацией, отслеживать прогресс и совместно работать.
Collaborator может быть полезен для следующих целей:
- Обмен информацией: обмен информацией о веб-приложениях, таких как уязвимости, найденные результаты и заметки.
- Отслеживание прогресса:отслеживание прогресса тестирования.
7. Sequencer
Sequencer - это компонент , который позволяет анализировать последовательность запросов и ответов между веб-приложением и пользователем. Он предоставляет инструменты, которые позволяют визуализировать последовательности, идентифицировать шаблоны и выявлять потенциальные уязвимости.
Sequencer может быть полезен для следующих целей:
- Анализ поведения веб-приложения:анализ поведения веб-приложения, чтобы понять, как оно обрабатывает запросы и ответы. Это может быть полезно для выявления потенциальных уязвимостей.
- Идентификация шаблонов: идентификация шаблонов в последовательности запросов и ответов.
- Выявление потенциальных уязвимостей: выявление потенциальных уязвимостей, таких как SQL-инъекции, XSS и уязвимости раскрытия информации о конфигурации.
8. Decoder
Decoder - это компонент , который позволяет декодировать и расшифровывать данные, передаваемые между веб-приложением и пользователем. Он предоставляет инструменты, которые позволяют вручную и автоматически декодировать данные.
Decoder может быть полезен для следующих целей:
- Декодирование данных: декодирование данных, которые были зашифрованы или закодированы. Это может быть полезно для получения доступа к данным или для понимания их значения.
9. Comparer
Comparer - это компонент, который позволяет сравнивать два набора данных. Он предоставляет инструменты, которые позволяют быстро и легко находить различия между двумя наборами данных.
Comparer может быть полезен для следующих целей:
- Сравнение запросов и ответов: сравнение запросов и ответов, которые были отправлены или получены от веб-приложения.
- Сравнение файлов: Сравнение файлов, таких как исходный код веб-приложения или конфигурационные файлы.
- Сравнение результатов тестирования: сравнение результатов тестирования безопасности, таких как результаты сканирования или результаты ручного тестирования.\
10. Logger
Logger - это компонент , который позволяет записывать HTTP-трафик, который проходит через Burp Suite. Он предоставляет инструменты, которые позволяют просматривать, фильтровать и экспортировать записанный трафик.
Logger может быть полезен для следующих целей:
- Анализ трафика: анализ HTTP-трафика, который проходит через Burp Suite.
- Отладка запросов: отладка HTTP-запросов.
этап 4. Практическая часть
Для практической части я подготовил самописный сайт, который никак незащищен. Вы можете использовать сайт разработчиков, у них есть своя академия - https://portswigger.net/web-security/dashboard.
1. target
В левом меню вы можете выбрать сайт. Я выбрал свой, и target показал мне такую информацию:
Вся эта информация будет полезна в дальнейшей работе с сайтами. На этом моменте практика с target окончена, более широко эту вкладку я разберу в следующих статьях.
2. Intruder
Этот компонент имеет целых 4 вида атак - Sniper, Battering ram, Pitchfork, Cluster Bomb.
Начнем с 1 вида - Sniper.
Перейдем в Proxy -> HTTP history, и выберем url с регистрацией/входом, например:
В intruder нам нужно добавить & к имени и паролю:
Теперь перейдем в payloads и в Payloads settings впишем любые значения, пусть это будет 1 2 3.
Запустим атаку нажав на Start attack. Мы увидим что Burp начал перебирать логины и пароли.
3. Repeater
Proxy -> Intercept -> Intercept on.
Здесь есть очень хорошая функция - перехват. То есть мы перехватываем запрос до его отправления.
Возьмем тот же вход.
в поле username и password впишем рандомные значения, например xss:is
включим перехват и нажмем на вход:
На этом этапе мы можем изменить username и password в бюрпе:
Отправим наш запрос к repeater(делаем через http history)
К repeater я отправлю немного другой запрос, а именно текст в форме обратной связи.
В repeater я могу изменять мой прошлый запрос и отправлять его заново. Давайте попробуем отправить запрос, изменив какие то данные, пусть это будет Cookie.
Заключение
Статья получилась довольно обширной, и мы разобрали множество важных аспектов. Согласен - практики почти нет, но какая практика без теории? Статью я буду продолжать, и во второй части постараюсь сделать её такой же по объему, но уже исключительно с практикой.
Сам я не профессионал, поэтому по изучению мной новых возможностей, я буду писать все более качественный статьи.
Скрытый контент для пользователей групп Администратор, Модераторы.