Sql Injection Tool V1

Sql Injection Tool V1

Sql Injection Tool V1

Взлом сайта (Sql injection) Havij можете найти в интернете :). SQL инъекции здесь нет — Фильтруются кавычки, или просто стоит. На этом хочу закончить свою первую часть про «SQL injection для . Sculptor v1.0 SQL injection Подробнее 1.

Поддерживаются 4 вида SQL-инъекций: Blind SQL Injection, Time Based Blind SQL Injection. MySQL Dump v1.0 - программа для произведения SQL Inject.

SQL injection для начинающих. Часть 1 / Хабрахабр. Приветствую тебя, читатель. Последнее время, я увлекаюсь Web- безопасностью, да и в какой- то степени работа связана с этим.

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

Предисловие. Для того, чтобы понять данную статью, вам не особо понадобится знания SQL- языка, а хотя бы наличие хорошего терпения и немного мозгов — для запоминания. Я считаю, что одного прочтения статьи будет мало, т. Поэтому мы будем писать уязвимые скрипты и тренироваться на них. Инструкцию По Применению Кондиционера Midea Msr-12Hr. Что же такое SQL инъекция? Пример из жизни: Отец, написал в записке маме, чтобы она дала Васе 1. Переработав это в шуточный SQL язык, мы получим: ДОСТАНЬ ИЗ кошелька 1. РУБЛЕЙ И ДАЙ ИХ Васе.

Так- как отец плохо написал записку (Корявый почерк), и оставил её на столе, её увидел брат Васи — Петя. Петя, будучи хакер, дописал там «ИЛИ Пете» и получился такой запрос: ДОСТАНЬ ИЗ кошелька 1.

РУБЛЕЙ И ДАЙ ИХ Васе ИЛИ Пете. Мама прочитав записку, решила, что Васе она давала деньги вчера и дала 1. Пете. Вот простой пример SQL инъекции из жизни : ) Не фильтруя данные (Мама еле разобрала почерк), Петя добился профита. Подготовка. Для практики, Вам понадобится архив с исходными скриптами данной статьи.

Скачайте его и распакуйте на сервере. Также импортируйте базу данных и установите данные в файле cfg.

Поиск SQL injection. Как Вы уже поняли, инъекция появляется из входящих данных, которые не фильтруются.

Самая распространенная ошибка — это не фильтрация передаваемого ID. Ну грубо говоря подставлять во все поля кавычки. Будь это GET/POST запрос и даже Cookie! Числовой входящий параметр. Для практики нам понадобится скрипт index. Как я уже говорил выше, подставляем кавычки в ID новости. Т. к. Мы нашли первый вид SQL инъекции — Числовой входящий параметр.

Строковой входящий параметр. Запросы будем посылать на index. В данном файле, запрос имеет вид: $user = $.

Опять посылаем запрос с кавычкой: sqlinj/index. Alexander. PHP'Выдало ошибку. Значит уязвимость есть. Для начала нам хватит — приступим к практике. Приступаем к действиям. Немного теории. Наверно Вам уже не терпится извлечь что- то из этого, кроме ошибок.

Для начала усвойте, что знак ! Перед и после него обязательно должны стоять пробелы. В URL они передаются как %2. Всё, что идет после комментария — будет отброшено То есть запрос: SELECT * FROM news WHERE user='Alexander. PHP' - - habrahabra. Выполнится удачно.

Можете попробовать это на скрипте index. Книга Программирование Для Мас. Alexander. PHP'%2. Выучите параметр UNION. В языке SQL ключевое слово UNION применяется для объединения результатов двух SQL- запросов в единую таблицу. То есть для того, чтобы вытащить что- то нам нужное из другой таблицы. Извлекаем из этого пользу. Если параметр «Числовой», то в запросе нам не нужно посылать кавычку и естественно ставить комментарий в конце.

Вернемся к скрипту index. Обратимся к скрипту sqlinj/index. UNION SELECT 1. Запрос к БД у нас получается вот таким: SELECT * FROM news WHERE id=1 UNION SELECT 1. И он выдал нам ошибку, т.

Значит количество столбцов равно 5. GROUP BY. Зачастую бывает, что полей может быть 2. Чтобы нам каждый раз не перебирать их, используем GROUP BYЕсли запрос sqlinj/index. GROUP BY 2не выдал ошибок, значит кол- во полей больше 2. Пробуем: sqlinj/index. GROUP BY 8. Оп, видим ошибку, значит кол- во полей меньше 8. Если при GROUP BY 4 нет ошибки, а при GROUP BY 6 — ошибка, Значит кол- во полей равно 5.

Определение выводимых столбцов. Для того, чтобы с первого запроса нам ничего не выводилось, достаточно подставить несуществующий ID, например: sqlinj/index. UNION SELECT 1,2,3,4,5. Этим действием, мы определили, какие столбцы выводятся на страницу.

Пример: sqlinj/index. UNION SELECT name,2,pass,4,5 FROM users WHERE id=1 - -%2. Чтение/Запись файлов. Для чтения и записи файлов, у пользователя БД должны быть права FILE. Для записи файла, мы будем использовать функцию OUTFILE . UNION SELECT 1,2,3,4,5 INTO OUTFILE '1.

Отлично, файл у нас записался. Таким образом, Мы можем залить мини- шелл: sqlinj/index. UNION SELECT 1,'< ? Достаточно просто использовать функцию LOAD. Просто фильтруйте данные. Если Вы передаёте числа, используйте$id = (int) $. Защищаться использованием PDO или prepared statements.

Вместо завершения. На этом хочу закончить свою первую часть про «SQL injection для начинающих». Во второй мы рассмотрим более тяжелые примеры инъекций. Пробуйте сами писать уязвимые скрипты и выполнять запросы.