[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL инъекция
JohnBraxton
Всем доброго времени суток! Пытаюсь разобраться с принципом работы SQL инъекций.

Есть вот такой код:

$table = $_GET['table'];
$res = mysqli_query ($conf,"SELECT * FROM $table");


$_GET['table'] не проверяется.

URL такой: http://domain.ru/page.php?table=table_1

Вопрос в следующем могу ли я в запросе очистить таблицу к примеру table_1?
McLotos
SQL-Injection для начинающих. Хабрахабр
Внедрение SQL-кода. Википедия
SQL-инъекции. PHP.net
SQL-инъекции это просто. ][@kep.ru
Я вот только одного не могу понять. SQL-Injection работает ориентируясь на get-параметры? Не слишком ли примитивно для такой "серьезной" атаки?
Ну вот например на моем последнем сайте, адреса
http://site.ru/cars, http://site.ru/cars/nissan, http://site.ru/cars/nissan/almera
И что, получается что никакой возможности провести SQL-инъекцию? Что-то слабо в это верится. Я тут поставил себе Kali, запустил несколько сканеров, жду результата. посмотрим может и правда что-то можно сделать, не зная ни одной переменной. Хотя на моем сайте если url, который введен, не зарегистрирован в качестве открытой для доступа страницы, то сервер даст 404

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
JohnBraxton
Цитата (McLotos @ 25.12.2014 - 03:24)
SQL-Injection для начинающих. Хабрахабр
Внедрение SQL-кода. Википедия
SQL-инъекции. PHP.net
SQL-инъекции это просто. ][@kep.ru

Я это все перечитал. Но так и не смог сделать запрос на очистку или удаления таблицы.
McLotos
Цитата (JohnBraxton @ 25.12.2014 - 09:31)
Я это все перечитал.

А вот это SQL-Injection от А до Я?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
JohnBraxton
Цитата (McLotos @ 25.12.2014 - 03:24)
SQL-Injection для начинающих. Хабрахабр
Внедрение SQL-кода. Википедия
SQL-инъекции. PHP.net
SQL-инъекции это просто. ][@kep.ru
Я вот только одного не могу понять. SQL-Injection работает ориентируясь на get-параметры? Не слишком ли примитивно для такой "серьезной" атаки?
Ну вот например на моем последнем сайте, адреса
http://site.ru/cars, http://site.ru/cars/nissan, http://site.ru/cars/nissan/almera
И что, получается что никакой возможности провести SQL-инъекцию? Что-то слабо в это верится. Я тут поставил себе Kali, запустил несколько сканеров, жду результата. посмотрим может и правда что-то можно сделать, не зная ни одной переменной. Хотя на моем сайте если url, который введен, не зарегистрирован в качестве открытой для доступа страницы, то сервер даст 404

Эту страничку я сделал ради теста. С селектом все получается, я могу выбрать любые данные. Но не получается очистить таблицу или удалить ее...
volter9
Ну SQL-Инъекция это когда входные данные не проверяются (или же проверяются плохо обрабатываются) и вставляются напрямую в SQL запрос. В итоге, получается так что можно составить свой запрос (и изменить оригинальный) через входные данные.

Короче пацаны, используйте PDO и prepared statements и все будет круто smile.gif

P.S.: Если есть баги в БД, или же HTML попадает в запрос, вам все таки стоит очистить строку от HTML'а и JS. К тому же, нету 100% гарантии того что Вашу базу не взломают. Как говорится тот кто ищет, тот найдет

_____________
Мой блог
JohnBraxton
Цитата (volter9 @ 25.12.2014 - 03:51)
Ну SQL-Инъекция это когда входные данные не проверяются (или же проверяются плохо обрабатываются) и вставляются напрямую в SQL запрос. В итоге, получается так что можно составить свой запрос (и изменить оригинальный) через входные данные.

Короче пацаны, используйте PDO и prepared statements и все будет круто smile.gif

P.S.: Если есть баги в БД, или же HTML попадает в запрос, вам все таки стоит очистить строку от HTML'а и JS. К тому же, нету 100% гарантии того что Вашу базу не взломают. Как говорится тот кто ищет, тот найдет

В реальности я соблюдаю основные правила безопасности. Здесь вопрос в другом. Читайте выше. Мне в запрос нужно воткнуть SQL инъекцию что бы очистить или удалить таблицу. mysqli_query может выполнить только один запрос, поэтому я прошу помочь с правильным составлением запроса.
inpost
JohnBraxton
Если не ошибаюсь, то нет, нельзя в данном месте.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
mvg
Уже давно думаю как бы себе на сайт закинуть СКюЛ инъекцию biggrin.gif .
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.