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

Статья Burp suite&sqlmap. Часть 4

acc2ss

(L3) cache
Пользователь
Регистрация
26.08.2023
Сообщения
161
Реакции
222
Гарант сделки
2
Депозит
0.00
Статья будет не совсем полной, потому что я случайно закрыл вкладку, а открыв её увидел лишь 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 - это мощные инструменты, но они не единственные. Существует множество других инструментов, которые могут помочь в этом процессе.

Часть статьи я писал с телефона, поэтому заранее извиняюсь что мало скринов!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
I would like to ask another question for beginners here: how to create a google dork or how to find vulnerable google dorks. But it is a very nice article, everything is very clear for a newbie.
to make google dorks there are serveral ways
1- use the known public parameters + google search operator like ( inurl: , site , intext: , filetype: , intitle: , etc..... ) and make from them a search query for example :
inurl:defult.php?id=

2- you can implement keyword in the above search query to get more targeted result for example:

" Visit our shop " inurl:defult.php?id=

3- let's say you found injectable look at the footer of the site most likely you will see something like ( Created by Company-name )
you can make from it 0-day dork like

" Created by Company-name " .php?id=

this is the manual way
 
I would like to ask another question for beginners here: how to create a google dork or how to find vulnerable google dorks. But it is a very nice article, everything is very clear for a newbie.
First, you need a keywords. Keep in mind what type of sites you are looking for when making keywords. If you want shops then use words like “cart, store, shop, electronics”. These words you would find in a store.

Another thing you can add to the dork is the page/url parameters.

For example:
Blog “inurl:user.php?id=“

In this case the parameter is “id”
Many websites use different parameters but id is most common. To find good ones you need to look at the type of sites you want and copy them.

Another one is the page name
Refer to the example dork again

Shop “inurl:users.php?id=“

The page name in this case would be “users”. Again, many sites use different shit for this which is why you need to find your own based on the sites you are looking for.

Hope This is enough to point beginners in the right direction. I was having trouble finding information on this topic as well as everyone repeats the same information.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Часть статьи я писал с телефона
btc - 2e4c588c389ed45222d21523f22ae588c510ce7c26045ce918c602c064bf113e -> на новый телефон.
 
I would like to ask another question for beginners here: how to create a google dork or how to find vulnerable google dorks. But it is a very nice article, everything is very clear for a newbie.
dnsdumpster.com является хорошей альтернативой ручному методу с помощью Google dorking
 
Статья будет не совсем полной, потому что я случайно закрыл вкладку, а открыв её увидел лишь 1 этап и введение. Было у меня написано на 15к символов... Сгорело знатно, но что имеем, то имеем.
Введение
После всех теоретических статей мне бы хотелось сделать большую практическую, в который будут показаны реальные таргеты и примеры их уязвимостей.
Цель данной статьи - дать практическое введение в использование Burp Suite, sqlmap и OWASP ZAP. В статье будут рассмотрены основные функции этих инструментов и приведены примеры их использования.
По моей задумке, после прочтения этой статьи вы сможете с легкостью понимать структуру и порядок выявления уязвимостей несложных web-приложений.


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


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

Что мы здесь видим? Особо ничего, но есть строка поиска. Думаю что в ней нет ничего интересного, поэтому давайте проверим сайт на xss уязвимости, вписав скрипт <script>alert("XSS");</script> в url.
Хм, мы получили ошибку, но это не значит что уязвимости здесь нет на 100%, мы можем попробовать вставить скрипт в урл без данных после id:
Отлично! уязвимости есть, но что мы можем с ней сделать? много всего, например красть куки, сделать переход на другой сайт, красть пароли и юзернеймы. Да много всего - здесь главное фантазия. Давайте сделаем например перенаправление на другой сайт, для этого можно использовать скрипт: <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 мы увидим список доступных нам баз данных:
Среди них нам нужна вторая база. Возможно что в ней есть пароли или другая важная для нас информация. Но перед тем как достать данные из базы, давайте проверим какие у нас есть привилегии, для этого введем команду --privileges
Не густо... Но работать можно. Теперь давайте выгрузим список таблиц: -D vinnofrbfhbanane -tables:
Жалко что нет паролей. но информация всё же есть. давайте выгрузим её командой -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 - это мощные инструменты, но они не единственные. Существует множество других инструментов, которые могут помочь в этом процессе.

Часть статьи я писал с телефона, поэтому заранее извиняюсь что мало скринов!
А если у нас нету параметров чтобы подставить полезную нагрузку, тогда что делать?
 


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