powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Кто мне объяснит, что такое "SQL-инъекция"?
36 сообщений из 36, показаны все 2 страниц
Кто мне объяснит, что такое "SQL-инъекция"?
    #36762579
Lonely_hermit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто мне объяснит, что такое "SQL-инъекция" и где по возможности достать материал по ней?
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36762588
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всякие гуглы/яндексы/википедии уже отменили?
SQL-инъекция
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36763212
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Кто мне объяснит, что такое "SQL-инъекция"?
    #36763695
Фотография kinky cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о! еще одна причина хранить запросы в процедурах в самой бд
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36763983
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kinky catо! еще одна причина хранить запросы в процедурах в самой бдне выход, ибо значительная часть запросов - параметрические запросы, а значения параметров приходят из недружественной среды, типа вэба.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36764113
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kinky catо! еще одна причина хранить запросы в процедурах в самой бдХранение запросов в процедурах никак не влияет на возможность/невозможность проведения SQL-инъекции.

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

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

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

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

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

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

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

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

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

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

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

всяческие продвинутые пользовательские фильтры, которые должны применяться на серверной стороне. есть и другие способы, но нередко используют именно динамику, ибо "так проще"
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36766482
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo...Можно ссылку на такой?...
Тынц ?
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36766548
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeXDiaBLo...Можно ссылку на такой?...
Тынц ?
Если админку кому попало давать, то ничто не спасёт.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767285
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kinky catо! еще одна причина хранить запросы в процедурах в самой бд
"Запросы в процедурах в самой БД" скорее увеличивают вероятность инъекций. Хотя при глобальном поиске дыр проверить хранимки будет несколько легче, нежели клиентский код.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767313
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

+1
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767321
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerkinky catо! еще одна причина хранить запросы в процедурах в самой бд
"Запросы в процедурах в самой БД" скорее увеличивают вероятность инъекций. Хотя при глобальном поиске дыр проверить хранимки будет несколько легче, нежели клиентский код.
Всё зависит от того как написаны хранимки. Есть-ли внутри execute immediate...

Не ради оффтопа. Когда теория заканчивается надо уже обсуждать конкретную СУБД. А здесь автор ничего не сказал. Ну.. что касается Оракла то я читал про один вид инжекции который поражает NLS_* параметры.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767464
пролетевший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наглядно
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767497
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВсё зависит от того как написаны
Это применимо к любому средству, не только к хранимкам. Универсальный тезис :)

"При прочих равных", то есть при равной функциональности и равном уровне реализации, я бы ожидал в проекте с select-хранимками несколько большего количества дырок, нежели в проекте с select-из-клиента. В силу особенностей реализации.

maytonЕсть-ли внутри execute immediate...
Не обязательно. Находят дырки, когда, например, хранимка на первый взгляд написана грамотно, но вызывает другую хранимку, которая вызывает третью хранимку, которая недоступна снаружи и вообще доступна только SYS-у, но именно поэтому в ней таки есть execute immediate.

maytonНу.. что касается Оракла то я читал про один вид инжекции который поражает NLS_* параметры.
Да, это была роскошная индусская дырка.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767645
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarermaytonЕсть-ли внутри execute immediate...
Не обязательно. Находят дырки, когда, например, хранимка на первый взгляд написана грамотно, но вызывает другую хранимку, которая вызывает третью хранимку, которая недоступна снаружи и вообще доступна только SYS-у, но именно поэтому в ней таки есть execute immediate.
О чём спор? Я и подразумевал что "внутри" - означает по всей глубине стека вызовов.

+Особенно забавно, если у владельца есть wrapped-процедуры или external, которые внутри таки содержат execute immediate, но узнать об этом можно в самую последнюю очередь
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36767686
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonО чём спор? Я и подразумевал что "внутри" - означает по всей глубине стека вызовов.
Я имел в виду, что исходники "стека вызовов" далеко не всегда полностью доступны вызывающему. Ну и отметим, что динамический sql - это довольно много вариантов кроме execute immediate. Была дырка, например, когда вызывалась совершенно невинная "по описанию функционала" системная хранимка, но один параметр из неё, как оказалось, таки участвовал в запросе и было возможным с его помощью вызвать свою функцию с правами сиса.

maytonОсобенно забавно, если у владельца есть wrapped-процедуры или external
Именно что.
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36768651
hellium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пролетевшийНаглядно
еще в тему:
...
Рейтинг: 0 / 0
Кто мне объяснит, что такое "SQL-инъекция"?
    #36838513
Фотография kinky cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerутри execute immediate...
Не обязательно. Находят дырки, когда, например, хранимка на первый взгляд написана грамотно, но вызывает другую хранимку, которая вызывает третью хранимку, которая недоступна снаружи и вообще доступна только SYS-у, но именно поэтому в ней таки есть execute immediate.
/quot]
и это по вашему является достаточным основанием утверждать что вероятность инъекций увеличивается при юзанье хранимок?
смешно ей богу

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


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