The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Критическая уязвимость в Drupal, opennews (?), 28-Мрт-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


11. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Аноним (-), 29-Мрт-18, 10:29 
> Одним словом - не пехапе, а ошибки пейсателей парсеров пользовательских запросов
> Не язык должен быть "безошибочным", а код. Так-то.

ну, на самом-то деле, изначальное отсутствие в языке "с низким порогом вхождения" каких-нибудь тривиальных высокоуровневых примитивов вида tosql/tohtml/toxml/tojson и необходимость в каждом случае переизобретать велосипед - очень даже способствует написанию кривого кода. А безошибочного кода не бывает. Бывает хорошо отлаженный.

отдельный привет я-у-мамы-программистам. Прекрасный тест на профпригодность - дать такому задачу "преобразовать untrusted data в,к примеру, sql" (с особым нажимом на слово "untrusted").
Если вы видите, что он сходу начинает писать регекс вместо транслятора - сразу пинка под зад, это рефлексы, это никакому переобучению не поддастся.

Ответить | Правка | Наверх | Cообщить модератору

15. "Критическая уязвимость в Drupal"  +/
Сообщение от KonstantinB (ok), 29-Мрт-18, 11:18 
В современном PHP все уже есть.

А в старом коде времен php4, да, я видел "парсеры" XML и JSON через eval(). "Ну а чо, так проще же". Один такой eval() одной компании как-то обошелся в полмиллиона долларов.

Ответить | Правка | Наверх | Cообщить модератору

17. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от Аноним (-), 29-Мрт-18, 12:30 
> одной компании как-то обошелся в полмиллиона долларов

так это одной. А полмиллиона других компаний сэкономили на этом по доллару - и вот уже общий баланс неотрицательный :)

Ответить | Правка | Наверх | Cообщить модератору

23. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от KonstantinB (ok), 29-Мрт-18, 13:04 
Сразу вспоминается модификация анекдота про ковбоев, которые увеличили ВВП.
Ответить | Правка | Наверх | Cообщить модератору

40. "Критическая уязвимость в Drupal"  +/
Сообщение от Аноне (?), 30-Мрт-18, 10:34 
htmlspecialchars, filter_var
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

46. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от пох (?), 31-Мрт-18, 13:45 
> htmlspecialchars, filter_var

это слишком низкоуровневые конструкции, и к тому же они by design неверны (если использовать filter не для валидации, с этим-то все в порядке, кроме названия).
То есть малейшая неаккуратность, и получаем дыру типа описанной.

трансляцию надо выполнять не на обработке input (потому что совершенно неизвестно, что мы с тем input делать собираемся - мы его может вообще сейчас as-is бросим обратно в рожу пользователю в тот textarea, из которого получили, потому что он капчу неверно набрал - и зачем, спрашивается, было куда-то транслировать?)
ее надо выполнять в том месте, где ты с этим input что-то собрался делать.

Если в базу собрался положить - тебе нужен sql translator, если в html - html'ный, в js - js'овый. Ну, надеюсь, eval() мы не собираемся? Хотя php-транслятором лучше сразу озаботиться ;-)

Известно это становится только непосредственно на этапе выполнения, уже после всех валидаций и промежуточных обработок (попутно уже нельзя в этом месте вернуть ошибку и ничего не сделать). Именно там и надо фильтровать.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру