В mod-auth-mysql, модуле аутентификации в MySQL для http-сервера Apache 2, обнаружена (http://www.openwall.com/lists/oss-security/2009/01/21/10) возможность подстановки злоумышленником SQL кода, из-за отсутствия надлежащей проверки экранированных символов, при использовании многобайтовых кодировок, перед их использованием в SQL запросе.
Вторая уязвимость (http://trapkit.de/advisories/TKADV2009-003.txt) присутствует в QuickTime плагине из "good" набора кодеков аудиосервера GStreamer. При обработке специально созданного мультимедиа файла, злоумышленник может организовать выполнение своего кода в системе. Уязвимость может быть использована в программах, использующих при своей работе GStreamer, например, Songbird, Totem, Amarok и т.п.Проблема исправлена (http://gstreamer.freedesktop.org/releases/gst-plugins-good/0...) в наборе gst-plugins-good версии 0.10.12.
URL: http://www.openwall.com/lists/oss-security/2009/01/21/10
Новость: http://www.opennet.me/opennews/art.shtml?num=19948
> В mod-auth-mysql, модуле аутентификации в MySQL для http-сервера Apache 2, обнаружена возможность подстановки злоумышленником SQL кода, из-за отсутствия надлежащей проверки экранированных символов, при использовании многобайтовых кодировок, перед их использованием в SQL запросе.Вот этот набор слов можно заменить на два - скуль енжекшн.
Да, скоро эти понятия будут нерасторжимы - мы говорим SQL, подразумеваем injection !
Проверяйте ввод.
Регилия не позволяет?
>Проверяйте ввод.
>Регилия не позволяет?Ушел в рекурсию на час ...
А что такое "Регилия"?
ЗЫ а ведь sql базы и правда подвержены sql injection =).Удобство имеет и кой-какую цену ;)
>А что такое "Регилия"?
>ЗЫ а ведь sql базы и правда подвержены sql injection =).Удобство имеет
>и кой-какую цену ;)ты сам понял какой бред сказал?
Вообще-то sql injection "подвержены" исключительно веб-приложения.
От скриптовых языков/фреймворков, до модулей апача.
Помните об этом.И примерно миллион ссылок на Postgres, помимо этой.
For the first time I have been in a position to realize that a machine was attacked from an outside source in a production enviroment. A web server running Apache 2 and PostgreSQL was successfully attacked using a SQL injection vulnerability. I first noticed there was a new table in one of our PostgreSQL databases named 't_jiaozhu'.
http://www.rsreese.com/2007/03/sql-injection-attack-on-postg...
# grep t_jiaozhu *fred-access_log:219.153.131.99 - - [25/Mar/2007:11:59:32 -0400] "HEAD /showemploymentopportunity.php?id=38;create%20table%20t_jiaozhu(jiaozhu%20varchar(200)) HTTP/1.1" 200 - "-" "Mozilla/3.0 (compatible; Indy Library)"
хз как в мускуле постгря своей апи позволяет надежное защитится от таких неприятностей:
prepare ('select * from func(?,?)');
execute (param1, param2);
и никаких проверок не надо, - не подойдет формат поля - екзекуте вернет ошибку, и где надо все заэкранирует! ))
Вообще-то, sql injection атакует веб-сервисы.
А SQL сервер, вообразите себе, исполняет СОВЕРШЕННО ЗАКОННЫЕ sql команды, которые атакер пробил через подверженный уязвимости веб-сервис :)
>Вообще-то, sql injection атакует веб-сервисы.
>А SQL сервер, вообразите себе, исполняет СОВЕРШЕННО ЗАКОННЫЕ sql команды, которые атакер
>пробил через подверженный уязвимости веб-сервис :)Всё правильно - только количество приложений, где пользователь соединяется с SQL-сервером под своим именем, составляет несколько процентов от тех, где SQL используется просто в качестве движка для хранения данных приложения (в сущности к серверу подключается всего один пользователь, но при этом с очень широкими полномочиями). А такая ситуация как раз и провоцирует injection.
Так что приходится делать многоступенчатый парсинг - в начале идет проверка ввода, потом мучительно набиваются тексты запросов, потом сервер парсит этот запрос, выдает ответ, а потом этот ответ ещё и приводится к необходимому типу ... Ну, и нафига это всё?
>Всё правильно - только количество приложений, где пользователь соединяется с SQL-сервером под своим именем, составляет несколько процентов от тех, где SQL используется просто в качестве движка для хранения данных приложения (в сущности к серверу подключается всего один пользователь, но при этом с очень широкими полномочиями). А такая ситуация как раз и провоцирует injection.предложите модель реализации, к примеру, форума, где данная проблема будет решена.
>Так что приходится делать многоступенчатый парсинг - в начале идет проверка ввода, потом мучительно набиваются тексты запросов, потом сервер парсит этот запрос, выдает ответ, а потом этот ответ ещё и приводится к необходимому типу ... Ну, и нафига это всё?что-то другое можете предложить? нанять десять китайцев что-бы они хтмл-ки строгали?
>>Всё правильно - только количество приложений, где пользователь соединяется с SQL-сервером под своим именем, составляет несколько процентов от тех, где SQL используется просто в качестве движка для хранения данных приложения (в сущности к серверу подключается всего один пользователь, но при этом с очень широкими полномочиями). А такая ситуация как раз и провоцирует injection.
>
>предложите модель реализации, к примеру, форума, где данная проблема будет решена.
>Откуда мне знать :( Просто поражает сама абсурдность ситуации - вначале пользователю в руки выдается полноценный шелл (а SQL - это уже полноценный язык), а потом, когда этот пользователь начинает крушить сервер в мелкую щебенку, начинаются крики - что ж мы наделали и начинаются попытки по-максимуму изолировать пользователя от этого шелла. Зачем тогда было давать?
>
>>Так что приходится делать многоступенчатый парсинг - в начале идет проверка ввода, потом мучительно набиваются тексты запросов, потом сервер парсит этот запрос, выдает ответ, а потом этот ответ ещё и приводится к необходимому типу ... Ну, и нафига это всё?
>
>что-то другое можете предложить? нанять десять китайцев что-бы они хтмл-ки строгали?Все тоже самое, только без SQL-я. Недавно же была новость - http://www.opennet.me/openforum/vsluhforumID3/48432.html , только никто на неё внимание не обратил ...
ля, мужики, вы прежде чем писать выучите хоть одну БД. действительно тяжело слушать этот бред. серьездно!..
>Откуда мне знать :( Просто поражает сама абсурдность ситуации - вначале пользователю
>в руки выдается полноценный шелл (а SQL - это уже полноценный
>язык), а потом, когда этот пользователь начинает крушить сервер в мелкую
>щебенку, начинаются крики - что ж мы наделали и начинаются попытки
>по-максимуму изолировать пользователя от этого шелла. Зачем тогда было давать?абсурд вы несете. точно так же можно утверждать: зачем хранить картинки, хтмл-ки, музыку и видео под одним аккаунтам, злоумышлиник получив доступ, может потереть все...
>>что-то другое можете предложить? нанять десять китайцев что-бы они хтмл-ки строгали?
>
>Все тоже самое, только без SQL-я. Недавно же была новость - http://www.opennet.me/openforum/vsluhforumID3/48432.html
>, только никто на неё внимание не обратил ...ага, Вы не осилили sql и хотите от него убежать :)
с помощью "ключ-значение" от проблемы описаной вами выше вы не уйдете и не все данные описываются так просто: ключ-значение.
Прочитай в начале что я написал столько раз, сколько необходимо чтобы ты понял что я написал! - это раз.
Два: #удаков использующих конструкции вида: do ("insert into table1 values ($post[param1], $post[param2],...)") дохрена.
Три: еще раз прочитай что я написал про универсальный механизм защиты и сравни с "два".
Ч-ре: судя по твоей терминологии и туфте которую ты городишь - ты особо не в теме.
>Прочитай в начале что я написал столько раз, сколько необходимо чтобы ты
>понял что я написал! - это раз.
>Два: #удаков использующих конструкции вида: do ("insert into table1 values ($post[param1], $post[param2],...)")
>дохрена.
>Три: еще раз прочитай что я написал про универсальный механизм защиты и
>сравни с "два".
>Ч-ре: судя по твоей терминологии и туфте которую ты городишь - ты
>особо не в теме.Да, знакомо ... Стройная система костылей и подпорок ... Прицепим сбоку необязательную статическую типизацию и будем продолжать жрать кактус ...
>Прочитай в начале что я написал столько раз, сколько необходимо чтобы ты
>понял что я написал! - это раз.
>Два: #удаков использующих конструкции вида: do ("insert into table1 values ($post[param1], $post[param2],...)")
>дохрена.
>Три: еще раз прочитай что я написал про универсальный механизм защиты и
>сравни с "два".
>Ч-ре: судя по твоей терминологии и туфте которую ты городишь - ты
>особо не в теме.Ощущение, будто бы вы не совсем адекватны? Все хорошо со здоровьем?
да, есть немного: сказывается хронический недосып и переработка...
но это никак не сглаживает ту ахинею что ты выше сказал!
>да, есть немного: сказывается хронический недосып и переработка...
>но это никак не сглаживает ту ахинею что ты выше сказал!Ну, сбрехнул в полемическом задоре, признаЮ.