• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Burp Suite. Всё о всём. часть 1

acc2ss

(L3) cache
Пользователь
Регистрация
26.08.2023
Сообщения
161
Реакции
222
Гарант сделки
2
Депозит
0.00

Авторство: 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; Вписываем как у меня:

1705070905984.png
3. По желанию вы можете настроить интерфейс, а так же посмотреть горячие клавиши, для этого: Burp -> Settings -> User interface.
4. Не забываем про расширения, их вы можете установить во вкладке Extensions.


Этап 3: Теоретическая часть(использование разберем в практической части)

1. Dashboard:
Dashboard - это компонент, который предоставляет централизованное представление о всех ваших проектах и задачах. Он позволяет вам отслеживать прогресс ваших тестов, получать уведомления о важных событиях и управлять своими проектами.

Dashboard может быть полезен для следующих целей:

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

2. Target
Target - это компонент, который позволяет вам определять целевые веб-приложения и собирать информацию о них. Он предоставляет инструменты, которые позволяют вам сканировать веб-сайты, анализировать их структуру и выявлять потенциальные уязвимости.

Target может быть полезен для следующих целей:

  • Определение целевых веб-приложений:определение целевых веб-приложений, используя различные методы, такие как ввод URL-адресов, импорт файлов и сканирование сети.
  • Сбор информации о целевых веб-приложениях: сбор информации о целевых веб-приложениях, включая структуру веб-сайта, используемые технологии и потенциальные уязвимости.

3. Proxy
Proxy - это компонент, который позволяет перехватывать и анализировать трафик между вашим компьютером и веб-сайтом. Он предоставляет инструменты, которые позволяют вам просматривать запросы и ответы, а также изменять их.

Proxy может быть полезен для следующих целей:

1. Перехват и анализ трафика: может быть полезно для следующих целей:

  • Поиск уязвимостей: Вы можете использовать Proxy для поиска уязвимостей в веб-приложениях, просматривая запросы и ответы.
  • Разработка веб-приложений: Вы можете использовать Proxy для разработки веб-приложений, просматривая запросы и ответы, которые веб-приложение отправляет и получает.
2. Изменение трафика: может быть полезно для следующих целей:
  • Отправка специальных запросов: отправка специальных запросов веб-приложению, которые не могут быть отправлены непосредственно из браузера.
  • Эксплуатация уязвимостей: эксплуатация уязвимостей в веб-приложениях, изменяя трафик, отправляемый или получаемый веб-приложением.

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 показал мне такую информацию:

Снимок экрана 2024-01-12 201649.png
Что мы сразу можем увидеть? Host, User-Agent, Referrer, cookie, Server и многую другую полезную информацию. Здесь же мы можем посмотреть как выглядит сайт, нажав на вкладку Render.
Вся эта информация будет полезна в дальнейшей работе с сайтами. На этом моменте практика с target окончена, более широко эту вкладку я разберу в следующих статьях.

2. Intruder
Этот компонент имеет целых 4 вида атак - Sniper, Battering ram, Pitchfork, Cluster Bomb.

Начнем с 1 вида - Sniper.
Перейдем в Proxy -> HTTP history, и выберем url с регистрацией/входом, например:

1705077692170.png
В полях для ввода нам нужно ввести любые значения, пусть это будут 123 и 123. После этого в HTTP history должен появится url с POST методом:
Снимок экрана 2024-01-12 205250.png
Выбираем этот url, нажимаем пкм -> send to intruder.
В intruder нам нужно добавить & к имени и паролю:

1705078565997.png
легче всего это сделать через выделение и нажатие на add &.
Теперь перейдем в payloads и в Payloads settings впишем любые значения, пусть это будет 1 2 3.
Запустим атаку нажав на Start attack. Мы увидим что Burp начал перебирать логины и пароли.

1705078790710.png
Таким образом мы атаковали цель перебором паролей. Остальные виды атак мы разберем в следующей части.(В одной чисто физически сложно разместить)

3. Repeater
Proxy -> Intercept -> Intercept on.
Здесь есть очень хорошая функция - перехват. То есть мы перехватываем запрос до его отправления.
Возьмем тот же вход.
в поле username и password впишем рандомные значения, например xss:is
включим перехват и нажмем на вход:

Снимок экрана 2024-01-12 221539.png
Что мы видим? Мы нажали войти, но запрос к серверу не отправился, а был перехвачен burp'ом.
На этом этапе мы можем изменить username и password в бюрпе:

1705083446306.png
Теперь нажмем на forward и отправим запрос.
Отправим наш запрос к repeater(делаем через http history)
К repeater я отправлю немного другой запрос, а именно текст в форме обратной связи.
В repeater я могу изменять мой прошлый запрос и отправлять его заново. Давайте попробуем отправить запрос, изменив какие то данные, пусть это будет Cookie.

1705083914853.png
Отлично! Изменив куки я все еще могу отправлять этот запрос -> на сайте нет проверки на вход при отправке запроса.

Заключение
Статья получилась довольно обширной, и мы разобрали множество важных аспектов. Согласен - практики почти нет, но какая практика без теории? Статью я буду продолжать, и во второй части постараюсь сделать её такой же по объему, но уже исключительно с практикой.
Сам я не профессионал, поэтому по изучению мной новых возможностей, я буду писать все более качественный статьи.



Скрытый контент для пользователей групп Администратор, Модераторы.
 
https://xss.pro/threads/96791
Это не одно и тоже ?
- у нас даже установки разные, я и не говорю про то, что у него другое разбиралось в статье
 
Сейчас вот недавно была тема https://xss.pro/threads/105674 тоже, где пошла дискуссия про качество статей. Большинство статей имеют схожий текст и содержимое. Только чуть переделаны. Можно сказать не авторские... Хотя админу виднее
 
Сейчас вот недавно была тема тоже, где обсуждается бурно про качество статей. Большинство статей имеют схожий текст и содержимое. Только чуть переделаны. Можно сказать не авторские... Хотя админу виднее
если брать конкретно мою и статью которую ты дал - они полностью отличаются(может только начало похоже).
А так да, я с тобой согласен - на форуме много похожего. Но я новичок, и хоть как то пытаюсь внести в форум что то свое.
Спасибо что не набросился сразу :)
 
если брать конкретно мою и статью которую ты дал - они полностью отличаются(может только начало похоже).
А так да, я с тобой согласен - на форуме много похожего. Но я новичок, и хоть как то пытаюсь внести в форум что то свое.
Спасибо что не набросился сразу :)
Ну это на будущее, если конечно не хочешь такой же срач как в той теме. Ты старайся писать интересные статьи с разными иллюстрациями, чтобы вызвать интерес у читателя. Свое авторское, без копипасты. Вот тогда будет поддержка со стороны читателей.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх