Заповедь для параноиков: указывать сложный table_prefix при установке MODX
Сразу жути наведу: все очень плохо. Имея доступ в админку даже с самыми-самыми минимальными правами, можно поднять права пользователя до sudo довольно просто. Понятно дело, что если знать как (или если я, к примеру, выложу здесь JS-скрипт, который гарантировано сработает сейчас на любом MODX Revo сайте). Скажу только, что общий механизм работает через SQL-инъекции. И вот здесь момент: чтобы воспользоваться этим, надо знать префикс таблиц в MODX. Сейчас, к сожалению, эта информация доступна для чтения в самом браузере (находясь в админке). Если оперативно примут пулл-реквест, то обновив MODX, уже можно будет себя несколько обезопасить. Но не получится совсем обезопасить. Если у вас будет базовый префикс modx_ или какой-то простой типа prfx_, то методом перебора можно будет довольно быстро выполнить атаку (здесь всего примерно 30^4, то есть 810 000. По 10 запросов в секунду за 22 часа можно перебрать все возможные варианты). По этой причине советую сложные префиксы давать типа My_PrfX234_. Здесь уже и маленькие, и большие буквы, и цифры, а это уже 70^10 или 2824752490000000000 вариаций. Вот это уже просто времени не хватит подбирать. Если злоумышленник не будет знать префикса таблиц, SQL-инъекцию ему будет практически нереально выполнить. А что делать с уже работающими сайтами? Как поменять им префикс таблиц? Накидал вот скрипт на изменение имен таблиц: Выполняете в консоли, после чего идете правите префикс в core/config/config.inc.php и удаляете папку core/cache. Не забывайте про бэкапы! UPD: Имейте ввиду, вьюхи переименовывает, но не переименовывает названия таблиц в их запросах, надо будет вьюхи пересобирать, если вы их используете. UPD2: В общем, я нашел метод взлома без авторизации в админке. Пришлось покопаться, но метод есть и он касается всех версий MODX. Спасает только одно — кастомные префиксы таблиц и как дополнение — скрытые коннекторы. UPD3: Весьма активное обсуждение развернулось на modx.pro