В этой статье пойдет речь о фаззинге, c помощью которого можно получить доступ к веб-приложению, используя некоторые его уязвимости. Для этого используется список полезной нагрузки, находящийся на вкладке Intruder в Burpsuite.
Что такое Fuzzing?
Фаззинг или тестирование Fuzz играет важную роль в процедурах тестирования программного обеспечения. Это метод, который используется для поиска ошибок и неисправностей в приложении путем введения набора частично произвольных входных данных, называемых fuzz, в само приложение, которое должно быть протестировано. Fuzzer принимает входные данные в формате файла, чтобы различать допустимые и недопустимые варианты.
Однако инструменты Fuzzer лучше всего подходят для выявления таких уязвимостей, как SQL-инъекция, переполнение буфера, межсайтовый скриптинг, внедрение команд OС.
Как Burp Suite работает в качестве Fuzzer?
Burp Suite имеет встроенный Fuzzer HTML, имеющий название «Burp Intruder». Чтобы сделать возможной атаку с помощью фаззинга, нужно добавить словарь в качестве списка полезной нагрузки. Однако Burp Suite Professional Edition дает пользователям возможность выбрать предопределенные списки полезной нагрузки, содержащие наиболее распространенные строки fuzz в соответствии с типами атак.
Читатели, наверное, не до конца понимают, как осуществляется фаззинг.
Вот несколько простых шагов:
- Во-первых, нужно перехватить HTTP-запрос, тем самым пользователь поделится им с Intruder.
- Как только человек это сделает, будут определены параметры или «точки впрыска», где необходимо провести фаззинг.
- Теперь следует выбрать тип атаки и список полезной нагрузки.
Как только пользователь запустит фаззинг-атаку, нажав на кнопку «Attack», перед его глазами появится экран с указанием всех возможных уязвимостей. Таким образом, он сможет проанализировать их и найти самое слабое место в защите приложения.
Фаззинг с помощью встроенных списков полезной нагрузки Burp
Теперь читатели знают, что такое фаззинг и как Intruder от Burp Suite помогает пользователям фаззировать веб-приложение. Следует двигаться дальше и понять, как перехватить какой-нибудь запрос, чтобы фаззировать приложение, используя определенный список полезной нагрузки burp.
Фаззинг учетных данных для входа в систему
Имена пользователей и пароли играют важную роль в приложении, поэтому, если бы пользователь смог фаззировать их, он сразу бы обошел фазу аутентификации.
- Фаззинг поля «Пароль» с помощью списка паролей и списка коротких слов.
Нужно открыть Burp Suite, чтобы перехватить запрос, а затем поделиться им с Intruder.

Теперь следует настроить расположение полезной нагрузки и нажать на кнопку «Add». Пользователь может выбрать тип атаки, который определяется тем, как полезная нагрузка будет атаковать точку впрыска.
Расположение полезной нагрузки: 12345 (пароль пользователя).
Тип атаки: «Sniper» (для одной полезной нагрузки).

Пользователь выберет опцию полезной нагрузки, чтобы создать простой список полезной нагрузки для атаки.
Burp Suite Intruder содержит строки Fuzzing для проверки самых распространённых паролей, поэтому стоит воспользоваться его параметром «Passwords».

Нужно нажать на кнопку «Attack», чтобы инициировать атаку.

Как только пользователь это сделает, Burp Suite начнет атаку, отправив запросы на ввод правильного пароля для соответствующего имени пользователя.
Теперь из заданного списка примененных строк пользователь дважды щелкнет на раздел «Length», чтобы отсортировать компоненты в порядке увеличения. Далее он выбирает тот компонент, который имеет наименьшую длину.
Круто! На приведенном ниже изображении можно увидеть, что с полезной нагрузкой «zombie» пользователь получил результат «302 success».

Стоит проверить, что все работает: следует использовать данные (bee : zombie) для входа в систему. Пользователь смог авторизоваться.

Бывают случаи, когда пароль, созданный пользователем, отсутствует в списке полезной нагрузки «Password», поэтому в таких случаях человек может использовать другой список Burpsuite, т.е. «короткие слова».
Необходимо захватить HTTP-запрос для пользователя Raj, а затем, таким же образом, поделиться им с Intruder.
Пользователь выбирает расположение полезной нагрузки (123), нажав на кнопку «Add».

Теперь вместо списка паролей пользователь выбирает список коротких слов.

Следует нажать на кнопку «Add» и проанализировать выходные данные.
Как только пользователь отсортирует варианты по их длине в порядке возрастания, он получит пароль. Это «movie».

2. Фаззинг поля «Имя пользователя» с помощью списка имен пользователей.
Бывают случаи, когда есть общий пароль, но человек не знает, сколько пользователей установили его для себя. Чтобы решить эту дилемму, burpsuite предлагает использовать еще один большой список полезной нагрузки, который содержит все распространённые имена пользователей.
Нужно открыть Burpsuite и захватить запрос для входа в систему, а затем поделиться им с Intruder. Далее установить параметр «random» для точки впрыска.
К примеру, в данном случае человек угадывает всех возможных пользователей с паролем «admin».

После определения расположения полезной нагрузки пришло время выбрать список полезной нагрузки «Usernames» из программы.

Пользователь нажмет на кнопку «Attack».
Отлично! Он получил два логина: «ADMIN» и «admin» с паролем «admin».

Фаззинг для SQL-инъекций
SQL-инъекция – это одна из самых критичных уязвимостей, которые можно выявить. Однако эта уязвимость встречается в основном в полях пользовательского ввода.
Burp Suite предлагает отдельный список полезной нагрузки для фаззинга SQL-инъекций. Общие списки фаззинга («quick» и «full») также включают в себя некоторые полезные нагрузки для SQL-инъекций, внедрения команд ОС, межсайтового скриптинга и многого другого. Поэтому на этот раз пользователь будет использовать полный список («full») Fuzzing, чтобы обойти страницу для входа в систему.
Нужно захватить текущий HTTP-запрос портала test.vulnweb и поделиться им с Intruder.

Пришло время выбрать расположение и тип атаки. Пользователь добавил оба расположения т.е. «uname» и «pass» для фаззинга. Наряду с этим, он выбрал тип атаки «Cluster Bomb», потому что есть два расположения полезной нагрузки.

Учитывая все это, пользователь выбирает полный список Fuzzing для расположения полезной нагрузки номер 1, чтобы найти уязвимость SQL-инъекции в приложении.

Для расположения номер 2 выполняются те же действия.

Круто! На приведенном ниже скриншоте можно увидеть, что пользователь получил несколько успешных ответов.

Теперь нужно проверить первый захваченный ответ в полях входа в систему как username = ‘– и password = ‘.

Замечательно! На приведенном ниже скриншоте можно увидеть, что пользователь успешно обошел ввод учетных данных для входа в систему.

Фаззинг для поиска скрытых файлов
Есть много веб-страниц, которые скрыты для обычных пользователей, но они доступны в веб-приложении. Однако довольно трудно определить, какая веб-страница выдает какие результаты.
Таким образом, чтобы облегчить работу, Burpsuite обладает удивительными списками полезной нагрузки, которые содержат почти все часто используемые веб-страницы, которые бывают скрыты.
Нужно открыть панель веб-приложения bWAPP и захватить HTTP-запрос. Потом поделиться им с Intruder.

Происходит настройка расположения полезной нагрузки как «Portal» и типа атаки как «Sniper».

Теперь нужно выбрать список полезной нагрузки. На этот раз пользователь выбирает «Filename – short». Далее он нажмет на кнопку «Attack», чтобы продолжить.

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

Как только пользователь манипулирует portal.php с помощью secret.php, он попадает на скрытую страницу с надписью: «Your secret: Any Bug?».

Это были самые распространенные имена файлов, которые характерны для веб-приложений. Но как насчет уникальных имен? Длинные имена файлов дают пользователям возможность охотиться и на них тоже.
Теперь вместо коротких имен файлов нужно выбрать длинные в параметрах полезной нагрузки.

Как только пользователь нажимает на кнопку атаки, начинается фаззинг. Таким образом, в течение нескольких минут он получает скрытые веб-страницы.

Далее пользователь будет манипулировать portal.php с помощью captcha.php.

Фаззинг для поиска Restricted File Upload Extensions
Уязвимость при загрузке файлов является одной из основных проблем в веб-приложениях. Злоумышленник загружает файл с вредоносным кодом внутри него, который, таким образом, может быть выполнен непосредственно на сервере.
Бывают случаи, когда веб-разработчики блокируют некоторые определенные расширения файлов, чтобы сделать их веб-приложения безопасными. Однако выяснить, какое именно расширение заблокировано разработчиком, точно невозможно.
Здесь понадобится фаззинг. Intruder содержит список полезных нагрузок, встроенный для этого случая. Нужно воспользоваться им.
Пользователь перейдет к загрузке файла и выберет конкретный файл.

Он захватит запрос таким же образом, как и ранее, и поделится им с Intruder.

Теперь нужно выбрать расположение полезной нагрузки – в данном случае это расширение файла, который будет загружен.

Пользователь выбирает встроенный список полезной нагрузки. Он выберет «Extensions – short» и нажмет на кнопку «Attack», чтобы начать фаззинг.

Пользователь будет использовать опцию grep, чтобы определить, какие расширения заблокированы, а какие – нет.
Поэтому на вкладке «Параметры» он прокрутит вниз до поля «Grep – Match», удалит все предопределенные ключевые слова и добавит туда «blocked».

Это ключевое слово было добавлено намеренно, так как это ошибка, генерируемая при загрузке неправильного расширения файла. Поэтому вместо заблокированного ключевого слова пользователь должен использовать то, которое отображается как часть сообщения об ошибке при загрузке.
Как только пользователь нажмет на кнопку «Attack», он будет перенаправлен на следующую страницу, где отображаются выходные данные. Человек дважды щелкнет на разделе «blocked», чтобы отсортировать данные.
Круто! На приведенном ниже изображении можно увидеть, что пользователь теперь в курсе всех заблокированных расширений. Теперь он сможет загрузить свой файл.

Фаззинг для Cross-Site Scripting
Cross-Site Scripting, часто сокращаемый как XSS, представляет собой атаку с внедрением кода на стороне клиента, когда вредоносные скрипты вводятся на доверенных веб-сайтах, где входные параметры не были должным образом проверены.
Однако такие атаки довольно сложны. Поэтому для того, чтобы облегчить этот процесс, стоит использовать некоторые инструменты фаззинга. Пользователи могут рассчитывать на вкладку Intruder в BurpSuite.
Нужно включить свой прокси-сервис и захватить текущий HTTP-запрос с помощью опции перехвата Burp Suite, а затем поделиться всем этим с Intruder.

Теперь следует настроить входные параметры: пользователь нажмет на кнопку «Add», чтобы выбрать расположение полезной нагрузки для «ignite», и установит тип атаки как «Sniper».

Пришло время выбрать список полезной нагрузки: пользователь нажмет на кнопку «Add» и будет прокручивать список вариантов до тех пор, пока вы не увидит опцию «Fuzzing – XSS». Далее он нажмет на кнопку «Attack», чтобы запустить фаззер.

В течение нескольких минут пользователь получит выходной список со всеми данными. Он дважды щелкнет на разделе длины, чтобы отсортировать варианты в порядке уменьшения.

Круто! Теперь пользователь откроет любой вариант в браузере, чтобы проверить, был ли осуществлен ответ. Все работает!

Фаззинг для внедрения команд ОС
Внедрение команд ОС или инъекция Shell – это уязвимость, при которой злоумышленник пытается выполнять произвольные команды непосредственно через уязвимое приложение, чтобы получить информацию о веб-сервере или завладеть несанкционированным доступом к серверу.
Однако предопределенного списка для внедрения команд ОС не существует, но все же пользователь может использовать список Fuzzing all-in-one, то есть провести «Fuzzing- quick»
Как и ранее, пользователь захватит запрос и поделится им с Intruder.

Далее, он выберет точку впрыска как «www.nsa.gov», нажав на кнопку «Add», и установит тип атаки как «Sniper».

Пользователь выбирает самый маленький и мощный список, чтобы фаззировать эту точку. Нажав на кнопку «Attack», он начинает атаку.

Через несколько секунд он получает результат. Нужно изменить параметр длины, выстроив варианты в порядке уменьшения, чтобы проанализировать ответы.
Ну вот, полезная нагрузка «;id» работает здесь идеально.

Теперь он проверит это в своем браузере. На приведенном ниже скриншоте видно, что полезная нагрузка была вызвана веб-сервером.

Фаззинг для поиска скрытых каталогов
Подобно веб-страницам, есть также некоторые каталоги, которые скрыты от обычных пользователей, но они существуют.
Однако найти эти каталоги невооруженным глазом практически невозможно. Поэтому, чтобы облегчить работу и сделать эту задачу возможной, burp suite имеет удивительный список полезных нагрузок, который поможет пользователю. Эта атака также известна как брутфорс.
В приложение пользователь помещает случайное ключевое слово, чтобы было легко установить точку инъекции. В данном случае пользователь ввел «abc» после URL-адреса веб-приложения. Далее он захватит запрос и поделится им с Intruder.

Настала пора ключевого слова: пользователь выберет его и нажмет на кнопку «Add».

Время двигаться дальше: пользователь выберет список полезной нагрузки “Dictionary – short” из опции «Add from list».

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

Похоже, что Admin_files – это важный контент. Нужно проверить его в браузере.

Фаззинг для HTTP Verb Tampering
HTTP Verbs в основном используются веб-разработчиками при разработке приложения. Это включают в себя наиболее распространенные методы verb – GET & POST. Но кроме них существует еще целый ряд HTTP-методов, которые, если их использовать в неправильном месте, могут привести к критическим последствиям.
В таких атаках злоумышленник манипулирует HTTP-методом, который был настроен разработчиком неправильно.
Таким образом, чтобы сделать эту атаку проще, Burpsuite имеет встроенный список полезной нагрузки со всеми HTTP-методами, интегрированными в него.
Аналогичным образом, как пользователь и делал ранее, он захватил текущий HTTP-запрос и поделился им с Intruder.

Теперь пользователь не будет выбирать расположение полезной нагрузки на входных значениях, а установит его для HTTP-запроса, то есть метод «POST».

Проще всего выбрать список полезной нагрузки как «HTTP-verbs» и нажать на кнопку атаки.

Настало время для анализа: здесь пользователь видит раздел «Status». Он тестирует самый уязвимый веб-сайт.

Теперь нужно проверить ответ, полученный благодаря методу HEAD, поскольку пользователь знает, что запрос с этим методом показывает только часть заголовка и скрывает весь HTML-код внутри него.

Фаззинг для SQL-инъекций
Burp Suite имеет отдельный список полезной нагрузки, специально разработанный для обнаружения уязвимостей SQL. Поэтому пользователь попробует использовать именно его.
Он перехватит запрос и поделится им с Intruder.

Пользователь также выберет точки впрыска («1» и «1»), а затем нажмет на кнопку «Add», чтобы установить их как полезную нагрузку 1 и полезную нагрузку 2 соответственно. Нужно также не забыть выбрать тип атаки как «Cluster Bomb».

Далее пользователь выбирает параметр «Fuzzing – SQL Injection» для полезной нагрузки 1 из предлагаемых вариантов.

А затем он делает это же для полезной нагрузки номер 2.

Прежде чем нажать на кнопку атаки, пользователь определяет параметры Grep Match.

В данном случае пользователь намеренно использовал фразу: «Invalid credentials!», так как это ошибка, возникающая при вводе неправильных учетных данных. Поэтому вместо «Invalid credentials!» стоит ввести тот текст, который отображается как часть сообщения об ошибке, когда пользователю не удается войти в систему.
Теперь можно нажать на кнопку «Attack», чтобы начать атаку. Пользователь получит список всех полезных нагрузок, которые дадут ему возможность осуществить успешный вход в систему.

Пользователь выберет один из предложенных вариантов и проверит его в браузере.

Отлично! Все прошло успешно.

Fuzzing с настраиваемыми списками
Читатели уже могли задуматься о том, что делать, если они хотят фаззировать собственные полезные нагрузки, но наряду с этим им также нужны заранее составленные списки.
Однако разработчики Burp suite решили эту проблему, поэтому они разработали кнопку «ADD» с полем ввода, где пользователи могут ввести их полезную нагрузку вместе с предопределенными списками.
Итак, настала пора опять захватить HTTP-запрос и поделиться им с Intruder.

Нужно нажать на кнопку «Add $», чтобы определить точку впрыска.

Сначала пользователь выбирает среди уже готовых списков. В данном примере он использует наиболее подходящий список, то есть «Fuzzing – XSS».

Он добавляет свою собственную индивидуальную полезную нагрузку:
<script>alert(“Ignite Technologies”)</script>

Пришло время найти ее в списке. Стоит также проверить ее работу в браузере.

Все работает! Появляется надпись: «Ignite Technologies».

Инъекция индивидуальных списков полезной нагрузки
Читатели, скорее всего, видели множество списков полезной нагрузки по всему Интернету, поэтому нужно создать отдельную полезную нагрузку и нажать кнопку «Add», чтобы получить ее.
Burp suite дает возможность сделать это.
В левой части экрана над кнопкой «Add» есть еще одна кнопка, которая подписана как «Load». Эта функция в Burp suite помогает пользователям загружать любой список полезной нагрузки для атаки Fuzzing.

Пользователь нажмет на кнопку «Load» и выберет список полезной нагрузки, который он хочет фаззировать.

Как только он это сделает, пустое поле будет заполнено всеми строками, которые находятся в списке.

Пора начинать: пользователь нажмет на кнопку атаки и проанализирует результат, который будет получен.

Отлично! На приведенном ниже скриншоте видно, что полезная нагрузка работает.

Fuzzing: виды атак
Пользователь может использовать разные виды атак, доступные в Burp Suite.
Итак, настало время познакомиться с одной из самых распространенных видов атак – «Cluster Bomb». В данном случае пользователь попытается фаззировать имя пользователя и пароль, введя два разных списка полезной нагрузки соответственно в разные точки инъекции.
Cluster Bomb
Пользователь сперва (как обычно) захватит текущий HTTP-запрос и поделится им с Intruder.

Теперь нужно выбрать расположение полезной нагрузки, определив входные значения таких полей, как логин и пароль, с помощью кнопки «Add$». Далее пользователь выбирает тип атаки как «Cluster Bomb».

Пора заполнить пустое поле списком, включающим все возможные имена пользователей.

Теперь нужны пароли. Итак, стоит выбрать расположение полезной нагрузки номер 2 со всеми возможными паролями, которые могут подходить к именам пользователей.

Как только пользователь нажмет на кнопку «Attack», запустится фаззер. После этого он увидит экран с полученными данными (комбинациями имен пользователей и паролей).
Но сначала стоит понять саму концепцию этой атаки: например, каким образом два разных списка полезной нагрузки работают, чтобы обеспечить успешное перенаправление 302.
При этой атаке первый пароль из списка полезной нагрузки номер 2 будет фаззировать все имена пользователей из списка полезной нагрузки номер 1; аналогично, затем второй пароль снова фаззирует все имена пользователей, и атака продолжается дальше. Каждый последующий пароль из списка полезной нагрузки номер 2 будет фаззировать все имена пользователей из списка полезной нагрузки 1.
Таким образом, общее число запросов, генерируемых при этой атаке, является произведением числа найденных паролей и возможных имен пользователей.

Battering ram
Тип атаки «Battering ram» популярен среди багхантеров, так как для него требуется все один набор списков полезной нагрузки, чтобы поразить уязвимости в нескольких позициях внутри запроса.
В данном случае один список вводится в разные позиции полезной нагрузки, то есть используется там в нескольких местах внутри запроса.
Чтобы лучше понять, как это работает, нужно выполнить практическое задание. Пользователь будет использовать этот тип атаки. В данном примере он попытается найти учетные записи, пароли которых похожи на имена пользователей.

Теперь стоит добавить некоторые полезные нагрузки, указав их в поле ввода. А затем начать атаку, нажав на уже известную читателям кнопку «Attack».

Пользователь получает целый список выходных данных. На приведенном ниже изображении можно увидеть, что общее количество запросов равно количеству введенных полезных нагрузок. И нет необходимости сортировать ответы по длине или строке состояния, так как и так все понятно.

Pitchfork
Этот тип атаки полностью отличается от предыдущих, хотя он включает в себя несколько наборов полезной нагрузки и различные точки инъекций. Эта атака не фаззирует, она просто проверяет первую полезную нагрузку из списка полезной нагрузки 1 с первой полезной нагрузкой из списка полезной нагрузки 2. Атака считается успешной, если будут найдены учетные данные.
Нужно попробовать провести эту атаку для вышеупомянутого захваченного запроса, который уже был использован. Следует изменить тип атаки на «Pitchfork» и выбрать расположение полезной нагрузки, после нажав на кнопку «Add».

Пользователь выполняет такие же действия, как и при атаке «Cluster Bomb». Он выбирает набор полезной нагрузки и вводит нужные списки.

Аналогичным образом он установит соответствующую полезную нагрузку в наборе полезной нагрузки 2 для полезных нагрузок из списка 1:
bee : 12345
ignite : ignite
raj : 123
mummy : hacking
user : raj

Теперь, как только пользователь нажмет на кнопку атаки, чтобы запустить fuzz, он будет перенаправлен в новое окно, где будут получены учетные данные для входа в систему.

Fuzzing: тип полезной нагрузки
Пользователь уже знает тот факт, что тип полезной нагрузки на вкладке Intruder Burpsuite предназначен для управления и создания полезных нагрузок в соответствии с требованиями человека. Хотя ранее пользователь использовал только простой вариант списка, есть и ряд других списков, которые все еще скрыты от его глаз. Стоит взглянуть на них.
Brute forcer
Иногда люди путают два термина: «fuzzing» и «brute-forcing», однако они отличаются. Burpsuite имеет встроенный тип полезной нагрузки как brute forcer, который принимает входную строку и генерирует полезные нагрузки заданной длины, содержащие все перестановки заданного входного набора символов.
Поэтому на этот раз пользователь не будет указывать какой-либо список полезной нагрузки, а настроит burpsuite таким образом, чтобы он создавал свои собственные полезные нагрузки и вводил их в указанные позиции.
Следует открыть burpsuite и захватить HTTP-запрос, отправленный порталом Mutillidae, и тем самым поделиться им с Intruder.

Теперь пользователь будет фаззировать поле пароля, как он делал это и ранее, выбрав «123» в качестве точки инъекции и установив тип атаки как «Sniper».

Время настроить самый главный параметр: из опции тип полезной нагрузки человек выберет брутфорс, что тем самым заполнит пустое поле ввода.
- Character Set – это набор символов, которые должны использоваться в полезных нагрузках.
- Min Length – длина самой короткой полезной нагрузки.
- Max Length – длина самой длинной полезной нагрузки.
Важно! Общее количество полезных нагрузок будет увеличиваться с увеличением размера набора символов и максимальной длины.

И, наконец, пользователь нажмет на кнопку атаки. Нужно сесть поудобнее и расслабиться, потому что теперь burp suite выполняет свою работу. Он создаст и сопоставит полезную нагрузку с именем пользователя, предоставленным для ввода пароля.
Отлично! На приведенном ниже изображении можно увидеть, что пользователь получил полезную нагрузку как «Аа1» с перенаправлением 302 . Все прошло успешно!
Теперь пользователь перейдет в верхнюю часть вкладки Intruder и выберет там опцию «Attack». Он нажмет на кнопку «Pause», чтобы приостановить fuzzer.

Character Frobber
Во время тестирования на проникновение бывают случаи, когда пользователь сталкивается с такой ситуацией, что строка отвечает за ответ приложения, то есть если он манипулирует ее значением, то ответ будет тоже изменен. Такие ситуации обычно возникают, когда пользователь осуществляет захват учетной записи. Он пытается манипулировать идентификатором пользователя, используя подлинные данные.
Однако если пользователь попытается манипулировать символами строки вручную, это может занять несколько недель, а то и месяцев, чтобы он смог откопать подлинный запрос. Таким образом, чтобы облегчить работу, burpsuite имеет удивительный тип полезной нагрузки под названием: «Character Forbber», который изменяет значение каждой позиции символа в существующей базовой строке, увеличивая код конкретного символа ASCII на единицу.
Теперь пользователь откроет приложение Mutillidae и в левой части панели мониторинга перейдет по следующему пути: OWASP 2017 > Broken Authentication & Session Management > Privilege Escalation > Via CBC – Bit Flipping. Таким образом, он захватит запрос.

На приведенном выше изображения видно, что строка переходит в URL-адрес, кажется, что она отвечает за то, чтобы каждый пользователь имел свой идентификатор приложения, идентификатор пользователя и идентификатор группы.
Теперь, как только человек перехватит текущий HTTP-запрос, он сразу же отправит его в Intruder для дальнейшей обработки.

Нужно выбрать расположение полезной нагрузки для этого запроса.

Время настройки: пользователь выбирает тип полезной нагрузки как «Character frobber», в меню «Operate on» ему подходит вариант «Base value of payload position».

Теперь он делает эту атаку более понятной с помощью опции «Grep Extract»: это поможет пользователю определить, какая строка полезной нагрузки относится к каждому из идентификаторов приложения.
Поэтому на вкладке «Options» пользователь прокрутит вниз до поля «Grep – Extract», установит флажок возле пункта: «Extract the following items from responses» и нажмет на кнопку «Add».

Пользователь будет перенаправлен в новое окно, нажмет на кнопку «Fetch response» и найдет там «Application ID». Далее он получит выходные данные и нажмет на «OK». В данном случае это «A1B2».

Вот оно! Пользователь нажмет на кнопку атаки и запустит фаззер (вместо идентификатора приложения он может выбрать идентификатор пользователя или идентификатор группы).

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

Numbers
Как и брутфорс, этот тип полезной нагрузки специально разработан для чисел. Многие багхантеры любят этот тип полезной нагрузки, поскольку он значительно помогает им при проведении атак типа OTP Bypass.
Хотя способ применения этой полезной нагрузки не меняется, независимо от того, использует ли пользователь ее для OTP Bypass или входа в систему с помощью брутфорс.
Итак, стоит разобраться в работе этого типа полезной нагрузки, захватив текущий HTTP-запрос страницы входа в систему.

Как только пользователь поделится им с Intruder, ему, таким образом, нужно будет выбрать расположение полезной нагрузки. Здесь следует отметить поле пароля и установить тип атаки как «Sniper».

Пользователь выбирает «Numbers» из предоставленных типов полезной нагрузки и дополнительно настраивает следующие параметры в соответствии с его требованиями.
From – фаззинг начнется с этой полезной нагрузки.
To – и закончится этой полезной нагрузкой.
Steps – указывает на итерацию, в данном случае пользователь установил ее на «1», то есть следующая полезная нагрузка после 100 будет 101, 102, 103 и так далее. Если пользователь установит ее на «2», то следующая полезная нагрузка после 100 будет 102, 104, 106 с шагом 2.

Как только пользователь настроил все эти параметры, он нажмет на кнопку атаки и будет ждать результат. Через несколько минут он получит перенаправление 302 на 123.

Case Modification
Иногда бывает трудно определить, в какой сase пользователь добавил свой пароль. Таким образом, чтобы решить эту дилемму, burp suite имеет встроенный в себя тип полезной нагрузки, который регулирует cases (нижние и верхние) базового значения и создает полезные нагрузки внутри них.
Однако это касается не только паролей, бывают случаи, когда разработчик блокирует некоторые конкретные случаи (cases) для полей ввода.
Настала пора захватить запрос и проверить все на практике.

Читатели уже знают, что следует делать дальше: пользователь выбирает позицию полезной нагрузки и «Sniper» в качестве типа атаки для нее.

Пользователь также выбирает «Case modification» из имеющегося списка.
Он заполняет пустое поле скриптом XSS и нажмет на кнопку атаки.

Круто! Полезная нагрузка сработала в нужном месте. Следует сделать щелчок правой кнопкой мыши и выбрать пункт: «Show Response in Browser», чтобы проверить то же самое при работающем Javascript.

Теперь пользователь видит всплывающее окно с надписью «1».

Username generator
Во время атаки социальной инженерии очень просто собрать информацию о пользователе, будь то его личное имя или контактный номер. Иногда пользователь даже может угадать пароль, но самое сложное — это идентифицировать имя пользователя, которое он придумал.
Поэтому burpsuite имеет еще один тип полезной нагрузки, который сам сгенерирует все возможные имена пользователей и проверит их в соответствии с введенным паролем.
Интересно, как это провернуть?
Сперва нужно захватить запрос со случайным именем пользователя и верным паролем и поделиться всем этим с Intruder.

Теперь пришло время выбрать расположение полезной нагрузки, установить параметр «random» и нажать на кнопку «Add». Далее пользователь выбирает тип атаки как «Sniper».

Пользователь выбирает тип полезной нагрузки как «Username generator» и вводит имя, которое он хочет, для имен пользователей. В данном случае пользователь ввел «Ignite Technologies».
Он также может выбрать максимальное количество полезных нагрузок, то есть имен пользователей. В данном примере пользователь установил это значение равным 50.

Как только пользователь нажмет на кнопку атаки, fuzzer запустится. Он получит огромное количество имен пользователей, которые упорядочены в список. И нужное имя пользователя, с которым совпадет пароль – «Ignite».

Автор переведенной статьи: Chiragh Arora.
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.