В WooCommerce (https://wordpress.org/plugins/woocommerce/), плагине к системе управления контентом WordPress, позволяющем создавать площадки для продажи товаров, выявлена (https://blog.ripstech.com/2018/wordpress-design-flaw-leads-t.../) уязвимость, позволяющая выполнить код на сервере и получить полный контроль за сайтом. WooCommerce насчитывает более 4 млн установок и по статистике разработчиков используется для обеспечения работы около 30% всех интернет-магазинов в сети. Проблема устранена в выпуске WooCommerce 3.4.6 (https://woocommerce.com/).
Для эксплуатации уязвимости необходимо наличие прав менеджера торговой площадки. Отправив определённым образом оформленный запрос можно удалить произвольные файлы на сервере, насколько это позволяют полномочия, под которыми выполняется WordPress. Например, в ходе атаки можно удалить файл wp-config.php и инициировать процесс установки нового экземпляра WordPress. В ходе атаки злонамеренный сотрудник может завести новый аккаунт администратора WordPress, при помощи которого можно запустить произвольный PHP-код на сервере.
Для атаки также можно воспользоваться недоработкой в организации обработки привилегий в WordPress. На уровне плагина пользователи с правами менеджера торговой площадки имеют право только изменять учётные записи клиентов, но не имеют полномочий для изменения других аккаунтов, в том числе аккаунта администратора. При этом роль менеджера торговой площадки с правом edit_users определяется на уровне платформы WordPress и в случае отключения плагина WooCommerce, так как ограничение доступа реализовано на его уровне, менеджеры торговой площадки получают возможность редактирования профилей всех пользователей WordPress. Воспользовавшись вышеописанной уязвимостью можно удалить файл woocommerce.php и отключить таким образом плагин WooCommerce, что позволит получить права администратора и выполнить PHP-код на сервере.URL: https://blog.ripstech.com/2018/wordpress-design-flaw-leads-t.../
Новость: https://www.opennet.me/opennews/art.shtml?num=49578
> Для атаки также можно воспользоваться недоработкой в организации обработки привилегий в WordPress. На уровне плагина пользователи с правами менеджера торговой площадки имеют право только изменять учётные записи клиентов, но не имеют полномочий для изменения аккаунтов администратора. При этом роль менеджера торговой площадки с правом edit_users определяется на уровне платформы WordPress и в случае отключения плагина WooCommerce, так как ограничение доступа реализовано на его уровне, менеджеры торговой площадки получают возможность редактирования профилей всех пользователей WordPress.Это не «недоработка», а последствие использования т.н. костыля.
А нельзя придумать для интерпретатора какой-нибудь релиз/дев режимы? Чтобы можно было запретить ненужные и потенциально опасные функции.Например, функции записи на диск и т.д. Так сказать кастрировать интерпретатор.
disable_functions string
Эта директива позволяет отключить некоторые функции по причинам безопасности. Она принимает список имен функций, разделенный запятыми. disable_functions не подвержена влиянию безопасного режима.Только внутренние функции могут быть отключены с помощью этой директивы. Пользовательские функции ей не подвержены.
Эта директива должна быть установлена в php.ini. Например, ее нельзя использовать в httpd.conf.
disable_classes string
Эта директива позволяет отключить некоторые классы по причинам безопасности. Она принимает список имен классов, разделенных запятыми. disable_classes не подвержена влиянию безопасного режима. Эта директива должна быть установлена в php.ini. Например, ее нельзя использовать в httpd.conf.
Раньше был SAFE_MODE, а начиная с PHP 5.4.0 - геморой
Есть ещё Suhosin -- набор патчей на эту же тему.
>В ходе атаки злонамеренный сотрудник может завести новый аккаунт администратора WordPress, при помощи которого можно запустить произвольный PHP-код на сервере.И потом присесть за НСД...