Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Кто мне объяснит, что такое "SQL-инъекция"? / 25 сообщений из 36, страница 1 из 2
27.07.2010, 19:46:40
    #36762579
Lonely_hermit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Кто мне объяснит, что такое "SQL-инъекция" и где по возможности достать материал по ней?
...
Рейтинг: 0 / 0
27.07.2010, 19:54:53
    #36762588
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
всякие гуглы/яндексы/википедии уже отменили?
SQL-инъекция
...
Рейтинг: 0 / 0
28.07.2010, 10:56:45
    #36763212
Megabyte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Lonely_hermitКто мне объяснит, что такое "SQL-инъекция" и где по возможности достать материал по ней?
Это когда криворукому разработчику в код запроса через переменные вставляется еще один запрос, и вытягиваются другие данные, которые не следует показывать кому попало...
Пример:
$sql = 'Select t.A, t.B from table t where t.str = '.$param

Кул хацкер может подставить в $param = 'bla-bla' union all
select at.login, at.password from admin_table at ',
если разработчик не озаботился безопасностью передачи переменных.
И, как вариант, получает какие-то секретные данные по
пользователям и спокойно может ломать БД!
...
Рейтинг: 0 / 0
28.07.2010, 13:09:50
    #36763695
kinky cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
о! еще одна причина хранить запросы в процедурах в самой бд
...
Рейтинг: 0 / 0
28.07.2010, 14:20:45
    #36763983
arni
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
kinky catо! еще одна причина хранить запросы в процедурах в самой бдне выход, ибо значительная часть запросов - параметрические запросы, а значения параметров приходят из недружественной среды, типа вэба.
...
Рейтинг: 0 / 0
28.07.2010, 14:59:42
    #36764113
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
kinky catо! еще одна причина хранить запросы в процедурах в самой бдХранение запросов в процедурах никак не влияет на возможность/невозможность проведения SQL-инъекции.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
28.07.2010, 16:57:30
    #36764483
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
kinky catо! еще одна причина хранить запросы в процедурах в самой бд

скорее, это причина хранить запросы в процедурах И минимизировать использование динамического sql в них
...
Рейтинг: 0 / 0
28.07.2010, 18:24:11
    #36764734
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Анонимос рекомендует использовать bind-перемнные там где это возможно. По поводу pure-dynamic SQL запросов я щас не готов сказать. Надо подумать где, такой функционал может быть ну ооооочень нуно.
...
Рейтинг: 0 / 0
28.07.2010, 18:36:05
    #36764781
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
maytonАнонимос рекомендуетЭто вы кого-то цитируете или отлогиниться забыли?
...
Рейтинг: 0 / 0
28.07.2010, 18:48:32
    #36764817
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Lonely_hermitКто мне объяснит, что такое "SQL-инъекция" и где по возможности достать материал по ней?
Всё достаточно просто. В SQL-запрос можно передавать только (!)параметры, остальное - чревато. Это самое важное правило. Если Вы хотите сортировать по какому-то полю, переданному с клиента - передавайте номер поля в датасете, а не название. Если Вы хотите передавать условие WHERE (вхере) - только параметр!
...
Рейтинг: 0 / 0
28.07.2010, 18:55:30
    #36764837
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
miksoftmaytonАнонимос рекомендуетЭто вы кого-то цитируете или отлогиниться забыли?
Забей. Просто уже вечер и меня плющит. Жара...
...
Рейтинг: 0 / 0
28.07.2010, 21:06:56
    #36765006
Анонимный мастер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
читал об этом давненько :)
неужели вся трагедия в непроверке переменной?
до истерии элементарно.Или же я чего то не знаю и не понял?:)
...
Рейтинг: 0 / 0
28.07.2010, 21:13:06
    #36765010
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Анонимный мастернеужели вся трагедия в непроверке переменной?
до истерии элементарно.Или же я чего то не знаю и не понял?:)Тем не менее, этим пренебрегают весьма часто.
...
Рейтинг: 0 / 0
28.07.2010, 21:15:03
    #36765011
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Анонимный мастер,

Ну да, не сложно. Хотя было бы интересно Ваше мнение по поводу передачи в запрос выражения, например WHERE или ORDER BY. Простой проверкой без анализа синтаксиса - не получится. То есть, я имею ввиду '...WHERE '+where, где where - некоторая переменная.
...
Рейтинг: 0 / 0
28.07.2010, 21:39:25
    #36765027
Анонимный мастер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
miksoftАнонимный мастернеужели вся трагедия в непроверке переменной?
до истерии элементарно.Или же я чего то не знаю и не понял?:)Тем не менее, этим пренебрегают весьма часто.

просто когда пишешь код, нужно не забывать что ты творец и владыка своего сорца. :)
...
Рейтинг: 0 / 0
28.07.2010, 21:40:46
    #36765028
Анонимный мастер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
ShSerge, ой, маминьки, а нельзя по проще? я аж скукожился после слов:передачи в запрос выражения.
...
Рейтинг: 0 / 0
28.07.2010, 21:51:57
    #36765038
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Анонимный мастер,

Можно попроще.
Код: plaintext
q1="SELECT a,b,c FROM MyTable WHERE ";
С клиента приходит строчка
Код: plaintext
q2="1=1\nDROP DATABASE";
Собственно, запрос - это исполнение строки-конкатенации q1 и q2. Вполне корректный запрос без синтаксических ошибок. :)
...
Рейтинг: 0 / 0
28.07.2010, 21:55:48
    #36765042
Анонимный мастер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
ShSerge, не понял что вы хотите.

используйте preg_ например и не напрягайте и то отсутствующий у меня мозг:)
...
Рейтинг: 0 / 0
28.07.2010, 21:58:59
    #36765045
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
ShSerge,

А можно пример, когда реально необходимо из внешней среды получать фрагменты SQL-конструкций (выражения), не являющийся откровенным костылем в архитектуре системы?
...
Рейтинг: 0 / 0
28.07.2010, 21:59:49
    #36765047
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
Анонимный мастер,

ТС - не я. Что использовать не спрашиваю, даже не знаю про какой язык и про какую БД идёт речь. Просто привёл пример инъекции. Одной из многих возможных.
...
Рейтинг: 0 / 0
28.07.2010, 22:00:52
    #36765048
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
miksoftShSerge,

А можно пример, когда реально необходимо из внешней среды получать фрагменты SQL-конструкций (выражения), не являющийся откровенным костылем в архитектуре системы?
Раз плюнуть. Всякого рода построители запросов.
...
Рейтинг: 0 / 0
29.07.2010, 07:29:26
    #36765328
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
maytonАнонимос рекомендует использовать bind-перемнные там где это возможно. По поводу pure-dynamic SQL запросов я щас не готов сказать. Надо подумать где, такой функционал может быть ну ооооочень нуно.
А связанные переменные полностью исключают возможность SQL-инъекций? Просто интересно, я то уже почитай лет 6 кроме связанных переменных, никак параметры запросам не передаю.
...
Рейтинг: 0 / 0
29.07.2010, 07:33:16
    #36765330
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
ShSergemiksoftShSerge,

А можно пример, когда реально необходимо из внешней среды получать фрагменты SQL-конструкций (выражения), не являющийся откровенным костылем в архитектуре системы?
Раз плюнуть. Всякого рода построители запросов.
Можно ссылку на такой? Что-то с трудом представляю необходимость такого в вебе.
...
Рейтинг: 0 / 0
29.07.2010, 09:23:28
    #36765395
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
XDiaBLomaytonАнонимос рекомендует использовать bind-перемнные там где это возможно. По поводу pure-dynamic SQL запросов я щас не готов сказать. Надо подумать где, такой функционал может быть ну ооооочень нуно.
А связанные переменные полностью исключают возможность SQL-инъекций? Просто интересно, я то уже почитай лет 6 кроме связанных переменных, никак параметры запросам не передаю.
Это классическая рекомендация от всяких там security labs и прочих учебников. Насчёт того, будет-ли это полностью исключать инъекцию - не знаю. Сам по себе термин инъёкций несёт более широкий смысл чем исполнение ненужных DML/DDL операций. Сюда же добавляют различные сторонние языки и технологии, которые позволяют получить доступ к машинам внутренней сети на уровне ОС.
...
Рейтинг: 0 / 0
29.07.2010, 09:56:05
    #36765433
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто мне объяснит, что такое "SQL-инъекция"?
miksoftShSerge,

А можно пример, когда реально необходимо из внешней среды получать фрагменты SQL-конструкций (выражения), не являющийся откровенным костылем в архитектуре системы?

всяческие продвинутые пользовательские фильтры, которые должны применяться на серверной стороне. есть и другие способы, но нередко используют именно динамику, ибо "так проще"
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Кто мне объяснит, что такое "SQL-инъекция"? / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]