The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Критическая уязвимость в системе управления web-контентом Dr..."
Отправлено Ordu, 23-Фев-19 16:36 
>> Вон с дырой в плагине к wordpress, я так и не понял, зачем было ждать от плагина, чтобы тот
>> проверял привилегии, почему нельзя было сделать это в update_options?
> потому что, внезапно, нет ничего необычайного в плагине, который управляет привиллегиями.

И что? Сделай либо API в ядре CMS для установки объекта управляющего привилегиями, либо устанавливай такие плагины посредством наложения патчей на ядро CMS. Неудобно, но в том-то и фишка, что неудобно, нам нужно чтобы каждый идиот не лез своими кривыми ручонками в самые критичные куски кода.

> больше прокладок богу прокладок.

Я люблю принципиальных людей. Они так забавно продавливают свои принципы наперекор любому здравому смыслу, что невольно начинаешь гадать о том, какими интересными лабиринтами движется их процесс мышления.

> А для писания на php, как встарь, достаточно знания sql, а не
> еще стапиццот прокладок (впрочем, новые-модные фреймворки это успешно нивелируют).
> А если
> вы не умеете в работу с untrusted input и делаете какие-то
> предположения о том, что он может содержать - то вам никакие
> прокладки не помогут вообще - все равно вас поимеют.

С untrusted input (как впрочем и со всем остальным) проблема решается очень просто: пишется отдельный код, который из untrusted input'а, делает trusted. Мы в этот код засовываем данные полученные от пользователя, а на выходе мы получаем либо дулю с маслом (панику, Err(InvalidData), вылет исключения, или даже NULL -- не важно), либо структуру с trusted данными. Такая замечательная прослойка позволит отлаживать код разбора данных один раз, покрыть его тестами, прогнать его через две недели фаззинга на шестнадцати ядрах, и потом, какой бы дурак не пользовался нашим API для работы с untrusted данными, он просто не сможет перепутать endiannes, записать в поле size значение полученное от пользователя, не проверив его валидность, и вообще ничего особо плохого он сделать не сможет. Потому что о его возможных ошибках мы подумали заранее.

Надо только не забыть порезать клиентскому коду все простые пути получения исходных untrusted данных, и вынудить его пользоваться нашим API.


ps. Честно говоря, глядя на твои понты здесь, я думал о тебе лучше. Думал, что понты наверное не на пустом месте, и пох наверное что-то понимает в программировании. Но, судя по этим возражениям, это абсолютно пустые понты.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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