Взлом веб-приложений: фаззинг веб-приложений для поиска ошибок с помощью BurpSuite

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

В предыдущих уроках на Hackers-Arise мы использовали BurpSuite для тестирования, оценки и взлома веб-приложений. BurpSuite входит в набор инструментов, с которым должен быть знаком каждый хакер, пентестер или охотник за багами!

6a4a49_71ce224b02764db09ed5049fd25423e8~mv2.jpg


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

В этом руководстве мы будем использовать BurpSuite для отправки специально сформированных входных данных в веб-приложение с целью обнаружения SQL-инъекций и уязвимостей XXE. Это отличный метод поиска уязвимостей, доступных для программ bug bounty!

Шаг №1: Запустите Kali и OWASP-BWA

Первый шаг, конечно, — запустить Kali и OWASP-BWA.

6a4a49_1c76880bb6de4d508bc474e479b557c8~mv2.png
Теперь откройте браузер и нажмите на приложение Mutillidae II. Приложение должно открыться, как показано ниже.
6a4a49_e04ed8c4556943309d52dd2998285872~mv2.png
Шаг 2: Откройте BurpSuite.

Затем запустите BurpSuite в Kali.

6a4a49_cada042325ba44c5a946027e8dcc7f07~mv2.png


В браузере откройте OWASP2013->Injection (SQL)->SQLi-Bypass Authentication ->Login.

6a4a49_406c664a552a4ceebb60b848da2a2ffb~mv2.png
Откроется экран, аналогичный показанному ниже.
6a4a49_0e2977b49f1d409d809b048a78055373~mv2.png
Теперь, включив функцию Intercept (и включив прокси-сервер браузера) в прокси-сервере BurpSuite, введите любое случайное имя пользователя и пароль. Я использовал «test» и «complexpassword». Прокси-сервер перехватит или перехватит запрос, как показано ниже.

Щелкните правой кнопкой мыши и выберите «Отправить злоумышленнику».

6a4a49_4ce2dcd74cd74661be71fb52f3b36749~mv2.png


Теперь нажмите на вкладку «Нарушитель» в верхней части страницы. Откроется окно «Нарушитель» с четырьмя вкладками: «Цель», «Позиции», «Полезная нагрузка» и «Параметры». Выберите «Позиции». Окно «Нарушитель» подсветит несколько потенциальных позиций полезной нагрузки. Нажмите кнопку «Очистить» справа. Выделите поле имени пользователя и нажмите «Добавить».

6a4a49_5d0f5815405e44a193da5cd49c2ea2f9~mv2.png


Затем нажмите «Полезные данные». Здесь нужно будет добавить полезные данные или список строк для фаззинга. При фаззинге у нас есть несколько вариантов входных строк. Мы можем отправлять миллионы случайных или псевдослучайных входных данных, что может занять часы или дни, или отправлять специально созданные входные данные для поиска определённого типа уязвимости. В данном случае мы ищем именно уязвимости SQLi, поэтому давайте используем более короткий и конкретный список входных данных SQLi.

Мы можем зайти в терминал в Kali и выполнить поиск списков слов для нечетких строк, введя:

kali > найти списки слов | grep fuzz

6a4a49_84ddbf84e29d4492b231e8b34800ed2d~mv2.png


Это позволит найти все списки слов и отфильтровать их по слову «fuzz». Их много, но давайте используем один, специально предназначенный для SQL, например, usr/share/wfuzz/wordlists/Injections/SQL.txt . Этот список содержит множество строк, которые потенциально могут спровоцировать SQL-инъекцию. Конечно, вы можете использовать любой из этих списков слов для поиска уязвимостей, но этот специально
предназначен для поиска SQL-инъекций.

На экране полезной нагрузки нажмите кнопку «Загрузить» и введите путь к файлу SQL.txt.

6a4a49_9ef8f35f072a46afa628e2cf17452fb8~mv2.png


Наконец, нажмите «Начать атаку», и BurpSuite начнет пробовать каждую из строк в имени пользователя или любом выбранном поле.

6a4a49_3efd2a68d2ac47cba7b85d87cf79358a~mv2.png


Чтобы обнаружить потенциальные уязвимости к SQL-инъекции в этой форме приложения, обратите внимание на аномалии в статусе и размере ответов. Почти все эти ответы имеют длину 50773 символов, но некоторые из них больше. Более длинные ответы могут указывать на успешную SQL-инъекцию.

Шаг №3: Фаззинг для выявления уязвимостей XXE

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

Для проверки на наличие уязвимостей XXE перейдите к XML-валидатору в Mutillidae.

6a4a49_c7fbb0ae470641bfa26d402363c18200~mv2.png


Откройте окно, как показано ниже, и включите функцию Intercept в прокси-сервере BurpSuite, введите любые данные в окно XML и нажмите кнопку Validate XML.

6a4a49_d7ccd2b2e8b54914b2987497df043fd9~mv2.png


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

6a4a49_87d5d121b7f74b2ca18ddfef837e3534~mv2.png


Теперь щёлкните правой кнопкой мыши по прокси-серверу и выберите «Отправить нарушителю». Откройте Intruder и очистите позиции, как вы сделали выше. Выделите введённый вами адрес (в моём случае я просто ввёл «222222») и нажмите «Добавить».

6a4a49_ef27d6204cc64e1a8d0565f58b7e80bc~mv2.png


Затем щелкните вкладку «Полезные данные» и загрузите файл фаззинга XXE из каталога списка слов wfuzz (другие строки фаззинга XXE доступны в /Seclists/Fuzzing/XXE-Fuzzing.txt).

6a4a49_904c598537324d09ab413d556a0e2885~mv2.png


Обратите внимание, что список содержит строки, связанные с XML.

6a4a49_fbc280c7c2fe4457874f5c476600a3ff~mv2.png


Наконец, нажмите кнопку «Начать атаку».

6a4a49_2b781c08bf49491ab54e77be025eeb98~mv2.png


Ваш Burpsuite попытается отправить эти XML-строки валидатору. Как и в случае с фаззингом SQL-инъекций, описанном выше, обратите внимание на различия в статусе ошибки и длине, чтобы обнаружить аномалии, указывающие на потенциальную уязвимость.

Краткое содержание

Фаззинг может быть мощным методом поиска скрытых уязвимостей в веб-приложениях. BurpSuite позволяет нам проводить фаззинг практически любой формы в веб-приложении и отправлять в неё специально созданные или псевдослучайные входные данные. Анализируя результаты на наличие аномалий в размере и статусе, мы можем обнаружить потенциальные уязвимости. BurpSuite можно использовать для фаззинга каждого входного значения в форме, чтобы найти уязвимости.
 
с фокт
Добро пожаловать обратно, мои начинающие кибервоины!

В предыдущих уроках на Hackers-Arise мы использовали BurpSuite для тестирования, оценки и взлома веб-приложений. BurpSuite входит в набор инструментов, с которым должен быть знаком каждый хакер, пентестер или охотник за багами!

6a4a49_71ce224b02764db09ed5049fd25423e8~mv2.jpg


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

В этом руководстве мы будем использовать BurpSuite для отправки специально сформированных входных данных в веб-приложение с целью обнаружения SQL-инъекций и уязвимостей XXE. Это отличный метод поиска уязвимостей, доступных для программ bug bounty!

Шаг №1: Запустите Kali и OWASP-BWA

Первый шаг, конечно, — запустить Kali и OWASP-BWA.

6a4a49_1c76880bb6de4d508bc474e479b557c8~mv2.png
Теперь откройте браузер и нажмите на приложение Mutillidae II. Приложение должно открыться, как показано ниже.
6a4a49_e04ed8c4556943309d52dd2998285872~mv2.png
Шаг 2: Откройте BurpSuite.

Затем запустите BurpSuite в Kali.

6a4a49_cada042325ba44c5a946027e8dcc7f07~mv2.png


В браузере откройте OWASP2013->Injection (SQL)->SQLi-Bypass Authentication ->Login.

6a4a49_406c664a552a4ceebb60b848da2a2ffb~mv2.png
Откроется экран, аналогичный показанному ниже.
6a4a49_0e2977b49f1d409d809b048a78055373~mv2.png
Теперь, включив функцию Intercept (и включив прокси-сервер браузера) в прокси-сервере BurpSuite, введите любое случайное имя пользователя и пароль. Я использовал «test» и «complexpassword». Прокси-сервер перехватит или перехватит запрос, как показано ниже.

Щелкните правой кнопкой мыши и выберите «Отправить злоумышленнику».

6a4a49_4ce2dcd74cd74661be71fb52f3b36749~mv2.png


Теперь нажмите на вкладку «Нарушитель» в верхней части страницы. Откроется окно «Нарушитель» с четырьмя вкладками: «Цель», «Позиции», «Полезная нагрузка» и «Параметры». Выберите «Позиции». Окно «Нарушитель» подсветит несколько потенциальных позиций полезной нагрузки. Нажмите кнопку «Очистить» справа. Выделите поле имени пользователя и нажмите «Добавить».

6a4a49_5d0f5815405e44a193da5cd49c2ea2f9~mv2.png


Затем нажмите «Полезные данные». Здесь нужно будет добавить полезные данные или список строк для фаззинга. При фаззинге у нас есть несколько вариантов входных строк. Мы можем отправлять миллионы случайных или псевдослучайных входных данных, что может занять часы или дни, или отправлять специально созданные входные данные для поиска определённого типа уязвимости. В данном случае мы ищем именно уязвимости SQLi, поэтому давайте используем более короткий и конкретный список входных данных SQLi.

Мы можем зайти в терминал в Kali и выполнить поиск списков слов для нечетких строк, введя:

kali > найти списки слов | grep fuzz

6a4a49_84ddbf84e29d4492b231e8b34800ed2d~mv2.png


Это позволит найти все списки слов и отфильтровать их по слову «fuzz». Их много, но давайте используем один, специально предназначенный для SQL, например, usr/share/wfuzz/wordlists/Injections/SQL.txt . Этот список содержит множество строк, которые потенциально могут спровоцировать SQL-инъекцию. Конечно, вы можете использовать любой из этих списков слов для поиска уязвимостей, но этот специально
предназначен для поиска SQL-инъекций.

На экране полезной нагрузки нажмите кнопку «Загрузить» и введите путь к файлу SQL.txt.

6a4a49_9ef8f35f072a46afa628e2cf17452fb8~mv2.png


Наконец, нажмите «Начать атаку», и BurpSuite начнет пробовать каждую из строк в имени пользователя или любом выбранном поле.

6a4a49_3efd2a68d2ac47cba7b85d87cf79358a~mv2.png


Чтобы обнаружить потенциальные уязвимости к SQL-инъекции в этой форме приложения, обратите внимание на аномалии в статусе и размере ответов. Почти все эти ответы имеют длину 50773 символов, но некоторые из них больше. Более длинные ответы могут указывать на успешную SQL-инъекцию.

Шаг №3: Фаззинг для выявления уязвимостей XXE

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

Для проверки на наличие уязвимостей XXE перейдите к XML-валидатору в Mutillidae.

6a4a49_c7fbb0ae470641bfa26d402363c18200~mv2.png


Откройте окно, как показано ниже, и включите функцию Intercept в прокси-сервере BurpSuite, введите любые данные в окно XML и нажмите кнопку Validate XML.

6a4a49_d7ccd2b2e8b54914b2987497df043fd9~mv2.png


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

6a4a49_87d5d121b7f74b2ca18ddfef837e3534~mv2.png


Теперь щёлкните правой кнопкой мыши по прокси-серверу и выберите «Отправить нарушителю». Откройте Intruder и очистите позиции, как вы сделали выше. Выделите введённый вами адрес (в моём случае я просто ввёл «222222») и нажмите «Добавить».

6a4a49_ef27d6204cc64e1a8d0565f58b7e80bc~mv2.png


Затем щелкните вкладку «Полезные данные» и загрузите файл фаззинга XXE из каталога списка слов wfuzz (другие строки фаззинга XXE доступны в /Seclists/Fuzzing/XXE-Fuzzing.txt).

6a4a49_904c598537324d09ab413d556a0e2885~mv2.png


Обратите внимание, что список содержит строки, связанные с XML.

6a4a49_fbc280c7c2fe4457874f5c476600a3ff~mv2.png


Наконец, нажмите кнопку «Начать атаку».

6a4a49_2b781c08bf49491ab54e77be025eeb98~mv2.png


Ваш Burpsuite попытается отправить эти XML-строки валидатору. Как и в случае с фаззингом SQL-инъекций, описанном выше, обратите внимание на различия в статусе ошибки и длине, чтобы обнаружить аномалии, указывающие на потенциальную уязвимость.

Краткое содержание

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