Критическая уязвимость в MODX Revolution

Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.

Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.

P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Fi1osof
05 ноября 2016, 07:50
modx.pro
17
39 886
+30

Комментарии: 340

Василий Наумкин
05 ноября 2016, 10:54
+5
Мой способ — настройка базовой авторизации через веб-сервер.

Это запрещает любые запросы в manager, core и connectors без дополнительного логина и пароля, которые проверяет не MODX на PHP, а сам Nginx.

Запрет по IP, конечно, еще лучше.
    Антон Фомичёв
    05 ноября 2016, 12:31
    0
    С удовольствием, кстати, использую везде, где у меня modx. Спасибо за идею!
      Fi1osof
      05 ноября 2016, 13:42
      +9
      Василий, это одно из средств, которое позволяет закрыть пару дверей, но не решает проблему в принципе. Проверь в модсторе, не судо ли я там? Подозреваю, что уже. Во всяком случае я сумел себе fullname сменить и модифицировать один из своих документов. Это как раз стало возможно из-за того, что у тебя базовые префиксы используются. Да, я не могу зайти в админку, так как она закрыта, но я запросто могу сейчас создать сниппет, который при заходе на страницу сработает, сделает копии папок манагер и коннекторс, и там уже не будет двухфакторной. Или просто тупо шелл создаст.
        Василий Наумкин
        05 ноября 2016, 14:12
        -4
        Я прекрасно понимаю твою радость, но будь добр не лазить на чужие рабочие проекты.
          Fi1osof
          05 ноября 2016, 14:15
          +11
          Речи нет о радости. Речь есть о реальных проблемах в безопасности. Я всего лишь показал наглядно, так как ты не часто прислушиваешься к словам.
          В общем, проблему я обозначил, а тебе уже решать исправлять ее или нет.
            Василий Наумкин
            05 ноября 2016, 14:19
            0
            Так ты тогда хоть напиши где именно проблема.
            Потому что менять префиксы на всех MODX сайтах мне совершенно не улыбается.

            По логам вижу, что ты долго долбился на коннектор от Office, видимо опять что-то с переключением контекстов. Если так — то мне как минимум нужно исправить свои компоненты, которые много где уже установлены.
              Fi1osof
              05 ноября 2016, 14:26
              +2
              Это все та же проблема с префиксами (ссылка на статью в топике написана). Проблему модификации SQL-запросов практически не реально решить, так как много где принимаются извне параметры типа where, limit, sort, dir и т.п., потому вопрос как именно запрос прошел — не актуален (хотя да, с контексами я тоже проблему нашел, но это не относится именно к твоему случаю). Вопрос в том, что чтобы воспользоваться данной уязвимостью, надо знать префикс таблиц, так как надо выполнить запросы типа update table_name… Не зная префикса, нельзя указать корректное название таблицы. Без этого атаку не провести. Поэтому я и говорю: указывайте сложные префиксы для таблиц, будет гораздо гораздее.
                Василий Наумкин
                05 ноября 2016, 14:59
                +1
                Прекрасно.

                Впервые серьёзно жалею, что работаю с MODX.
                  Fi1osof
                  05 ноября 2016, 15:04
                  +6
                  Да не надо жалеть. Уязвимости есть везде, тем более там, где есть передаваемые параметры. Другое дело, есть возможность решить проблему или нет. Здесь эта возможность есть. Хотя с коннекторами там сейчас все очень плохо. Есть мысли как улучшить защищенность MODX-а, но это довольно серьезные трудозатраты. Может в будущем.
                    Владимир
                    05 ноября 2016, 17:40
                    0
                    Николай, я правильно понял, что для атаки требуется минимальный хоть и урезанный но админ доступ?
                      Fi1osof
                      05 ноября 2016, 17:42
                      +2
                      Нет. Я нашел способ без каких-либо прав. Точнее методов значительно больше, чем один, но все они сводятся к необходимости знать названия таблиц (с учетом префиксов).
                        Владимир
                        05 ноября 2016, 17:47
                        0
                        OMG
                        Печально.
                        У меня хоть на важном для меня сайте префиксы изменены, но их длина и сложность не ахти.
                        Т.е. бежать кругом дистрибутив advanced заливать и менять все и вся…
                        Fi1osof
                        05 ноября 2016, 17:49
                        0
                        Т.е. бежать кругом дистрибутив advanced заливать и менять все и вся…
                        А что, advanced умеет менять префиксы таблиц на готовом сайте? То есть переименовывать их?
                        Владимир
                        05 ноября 2016, 17:51
                        0
                        При установке, да, в ином случае не приходилось, но вроде предлагает при обновлении (или нет?).
                        PS Скрипт смены префиксов видел на modxclub еще утром.
                        Fi1osof
                        05 ноября 2016, 17:59
                        0
                        В xPDO метод обновления таблиц не дописан, так что вряд ли есть возможность при обновлении сайта обновить им таблицы.
                        Владимир
                        05 ноября 2016, 18:04
                        0
                        Но ведь предлагает при расширенном обновлении поменять префикс. Сейчас завершу на пробном сайте напишу.
                        Fi1osof
                        05 ноября 2016, 18:20
                        +1
                        Нифига не проходит joxi.ru/nAyz3VMFX8kDRr
                        Владимир
                        05 ноября 2016, 18:23
                        0
                        Ага, только что тоже самое получил.
                        Ранее расширенные настройки воспринимал как такую возможность, но она не требовалась так срочно, а сейчас оказалось что расширенные настройки при обновлении ни чего не позволяют толком поменять. Печаль (.
                        Fi1osof
                        05 ноября 2016, 18:25
                        +4
                        Скрипт я написал, с ним не должно возникнуть никаких проблем.
                        Владимир
                        05 ноября 2016, 18:30
                        +1
                        Спасибо, видел этот скрипт еще утром. Пошел ставить консольку и менять все и вся. Пока за пределами MODHOST, ибо полагаю, что Василий добавит опцию смены префикаса таблиц. Генерацию кастомного префикса при создании нового сайта он уже добавил.
                        Владимир
                        05 ноября 2016, 18:20
                        0
                        Да, advanced, предлагает при обновлении внести изменения в настройки базы данных, но на самом деле все не так)
                        Проверка базы данных: Нет такого префикса таблиц в базе данных!

                        Видимо задумывалось как возможность, но не доделано.
                        Fi1osof
                        05 ноября 2016, 18:21
                        +1
                        Видимо задумывалось как возможность, но не доделано.
                        Если под капот залезть, там много чего можно найти из того, что задумывалось, но не доделалось))
                  Сергей Шлоков
                  05 ноября 2016, 17:50
                  +1
                  Поменять префикс у сайта дело 5 минут, если не торопится. Единственный небольшой неудобств — обновление версии. Для пользователей хостинга modhost.pro вообще ужас ужас. ))
                  Решение. Сделать сниппет с кодом Николая (я где-то год назад давал пример файла с таким же кодом) и перед обновлением вызывать его, чтобы переименовать таблицы с префиксом modx_, а после обновления возвращать опять свой уникальный.
                  Как мечта — сделать на modhost.pro, чтобы префикс при обновлении или автоматически подцеплялся из файла настроек или запрашивать его у пользователя.

                  В MODX параметры запроса фильтруются. Может ужесточить правила и вырезать нахрен слова «insert», «update» и «delete» из запроса?
                    Fi1osof
                    05 ноября 2016, 18:01
                    0
                    Для пользователей хостинга modhost.pro вообще ужас ужас. ))
                    А там в чем проблема? Раз изменить префикс таблиц, потом обновление MODX-а же проходит с учетом префикса.
                      Сергей Шлоков
                      05 ноября 2016, 18:06
                      0
                      Разве? Насколько я помню, Василий писал, что обновление работает только для префикса modx_. Поэтому я когда переехал на modhost вернул таблицам стандартный префикс, чтобы пользоваться этой возможностью.

                      А вырезать из параметров запроса команды sql поможет решить проблему безопасности?
                        Fi1osof
                        05 ноября 2016, 18:12
                        0
                        Разве? Насколько я помню, Василий писал, что обновление работает только для префикса modx_.
                        Это уже у Василия надо спрашивать. Сам MODX при обновлении учитывает префиксы. Более того, даже если взять Vapor, то можно снять снимок, создать новый сайт с кастомным префиксом, накатить на этот сайт созданный пакет, и все таблицы будут созданы и/или обновлены с учетом префикса.

                        А вырезать из параметров запроса команды sql поможет решить проблему безопасности?
                        Поможет. Но как отличить опасный запрос от не опасного? К примеру, здесь кто-то захочет найти статьи по запросу «xPDO update», и что ему выдавать? А что делать с запросами uupdatepupdatedupdateaupdatetupdatee? Рекурсивную чистку писать? Короче, это все заморочки лишние.
                        Сергей Шлоков
                        05 ноября 2016, 18:19
                        0
                        К примеру, здесь кто-то захочет найти статьи по запросу «xPDO update», и что ему выдавать?
                        Мда.
                        Но как решение для базовой версии можно сделать такую настройку. Например, сейчас есть такая настройка «Разрешить передачу HTML тегов в POST запросах». А сделать еще типа такой — «Вырезать команды SQL». Если у пользователя простой сайт, то по крайней мере, он будет в безопасности. Поставил MODX и спит спокойно.
                        А если сайт использует запросы, то граммотный программист должен отключить эту настройку и переименовать таблицы. Как вариант.
                        Fi1osof
                        05 ноября 2016, 18:23
                        0
                        Это все слишком сложно.
                        Сергей Шлоков
                        05 ноября 2016, 18:25
                        0
                        Авторам MODX можно подсмотреть как это сделано у других.
                    Fi1osof
                    05 ноября 2016, 18:09
                    0
                    В MODX параметры запроса фильтруются. Может ужесточить правила и вырезать нахрен слова «insert», «update» и «delete» из запроса?
                    Я не сторонник совсем все закрывать, так как сам часто пишу сложные не стандартные запросы, а с этим в xPDO итак все сложно, и если на уровне xPDO-запросов все будет закрыто, то это меня не будет радовать. Так что я буду просто менять префиксы.
                      Василий Наумкин
                      05 ноября 2016, 18:44
                      +1
                      Для пользователей хостинга modhost.pro вообще ужас ужас. ))
                      И не говори!

                      Вообще непонятно, как дальше жить. Думаем закрываться теперь.
                        Сергей Шлоков
                        05 ноября 2016, 18:51
                        0
                        Вообще Марк и вся команда должны Николаю коньяк ИкСо подогнать за такое.
                          Василий Наумкин
                          05 ноября 2016, 18:54
                          0
                          Дождёшься от них, держи карман шире.

                          Евгения Борисова, помню, в итоге вообще обматерили.
                          Сергей Шлоков
                          05 ноября 2016, 18:57
                          0
                          Потому что он выложил в открытый доступ дыру.
                          Уверен на 100%, что данной дырой серьёзные пацаны уже давно пользовались.
                          Интересно, а в том же WP эта дырка закрыта?
                          Василий Наумкин
                          05 ноября 2016, 19:12
                          0
                          Ну, иначе высокое руководство не считало те дыры — дырами, и отмахивались, мол так и задумано.
                          Пришлось доказывать на их же сайте.

                          И, насколько я помню, Евгений еще далеко не всё показал. Не удивлюсь, если и про сегодняшний баг он давно в курсе, просто стимула рассказывать авторам MODX больше нет.
                          Сергей Шлоков
                          05 ноября 2016, 19:20
                          +1
                          Я тогда очень удивился легкомысленности авторов MODX.
                          Сергей Шлоков
                          06 ноября 2016, 08:48
                          0
                          Евгения Борисова, помню, в итоге вообще обматерили.
                          ...
                          Ну, иначе высокое руководство не считало те дыры — дырами, и отмахивались, мол так и задумано.
                          Пришлось доказывать на их же сайте.
                          Кстати, пока Николай не залез к тебе, ты тоже отмахнулся. И ответная реакция у тебя тоже практически матерная.
                          Василий Наумкин
                          06 ноября 2016, 08:53
                          0
                          Кстати, на тот момент считалось, что доступ в админку необходим и мой способ вполне себе работает.

                          А вот чуть позже Николай залез без админки, и сразу на рабочий проект и написал UPD2 у себя в заметке.

                          И еще кстати — в текущей заметке этого UPD2 до сих пор нет. Как считаешь, большая ли разница, когда для эксплуатации уязвимости нужен доступ в админку, а когда нет?

                          Но а так да, всё один в один, прям идентичные ситуации.
                          Сергей Шлоков
                          06 ноября 2016, 09:06
                          0
                          Могу ошибаться, но по-моему, вот это было изначально в статье.
                          Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
                          Про доступ в админку тут не слова. Лично мне было интересно проверить, но я не рискнул. Страшновато.
                          Василий Наумкин
                          06 ноября 2016, 09:11
                          +1
                          Да я вроде тоже не предлагал демонстрировать это на моих проектах, не правда ли?

                          Но Николая это не остановило.
                          Fi1osof
                          06 ноября 2016, 09:25
                          +1
                          Ну я вроде и не сломал ничего, так, чуть себя подправил да документ один свой… Ну и чуть больше о структуре магазина узнал (только в плане какие типы сущностей используются, не более).
                          Василий Наумкин
                          06 ноября 2016, 09:56
                          0
                          В общем, произвёл взлом чужого сайта в личных целях, молодец.

                          Хоть бы сообщество ломал, а не магазин, который приносит доход и тебе, в том числе.
                          Fi1osof
                          06 ноября 2016, 10:14
                          +1
                          Василий, я никому не навредил, и ничьи данные даже не смотрел (только свои). Я даже не смотрел сколько там пользователей у вас. Вообще ничего такого.
                          Сергей Шлоков
                          06 ноября 2016, 09:45
                          +3
                          Да я вроде тоже не предлагал демонстрировать это на моих проектах, не правда ли?
                          Как и авторы MODX. Но там ты встал на сторону Евгения, а тут на противоположную. Непоследовательно.
                          Одно дело у меня на сайте пошалить, а другое дело обратить внимание человека, на котором лежит большая ответственность — у многих из нас сайты размещаются на modhost.pro, который работает на MODX, и это вызывает обоснованное беспокойство.
                          Владимир
                          06 ноября 2016, 09:50
                          +1
                          а тут на противоположную.
                          Ну, а результатом то явилось улучшении безопасности :)) За что Николаю спасибо!
                          Василий Наумкин
                          06 ноября 2016, 09:54
                          +2
                          Сережа, ты по-русски не понимаешь?

                          Еще раз: на момент публикации моего комментария не было известно, что для эксплуатации уязвимости не нужен вход в админку.

                          Достаточно было дописать в заметке, что уязвимость можно эксплуатировать хоть откуда, и всё. Я не просил её доказывать, я не отмахивался от неё. Мы её и по почте обсудили с Николаем — и там он тоже не сказал, что доступ в админку уже не нужен.

                          Наверное, это недоработка Николая, что он недостаточно рассказал о серьёзности проблемы.

                          P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
                          И что, блин? Это вообще теперь не имеет никакого смысла, если любой сайт можно сломать хоть откуда, если у него стандартный префикс таблиц.

                          Более того, префикс таблиц теперь приравнивается к паролю супер-админа, его нужно хранить за семью печатями! Вот что нужно было написать, а не как сейчас.

                          Но если ты считаешь, что я отмахнулся от проблемы и повёл себя как мудак — твоё право. У меня нет желания это обсасывать второй день подряд.

                          С моей стороны вопрос решен, дальше дело за ребятами из MODX.
                          Сергей Шлоков
                          06 ноября 2016, 10:05
                          +2
                          Но если ты считаешь, что я отмахнулся от проблемы и повёл себя как мудак — твоё право.

                          Fi1osof
                          06 ноября 2016, 10:13
                          +1
                          И что, блин? Это вообще теперь не имеет никакого смысла, если любой сайт можно сломать хоть откуда, если у него стандартный префикс таблиц.

                          Более того, префикс таблиц теперь приравнивается к паролю супер-админа, его нужно хранить за семью печатями! Вот что нужно было написать, а не как сейчас.
                          Вот тут оговорочка — смысл есть. Дело в том, что пока патч не примут (и пока не обновятся до последней версии), префикс можно будет тупо получить из настроек системы. Сейчас процессор жестко проверяет на авторизацию в mgr, нельзя тут переопределить контекст. А если пользователь авторизован в mgr, то он может получить настройки, в том числе и префикс таблиц.
                          Владимир
                          06 ноября 2016, 10:16
                          0
                          Василий, скажи, сейчас тут сайт/manager/?a=system/info виден префикс, и если не с суперадминскими правами, то ли есть вариант попасть залогиненному в админку на данную страницу?
                          PS прочел коммент Николя ниже… о получении префикса из системных настроек. Вопрос снят…
                          Fi1osof
                          06 ноября 2016, 10:23
                          +2
                          сайт/manager/?a=system/info виден префикс
                          Это защищенный процессор, надо иметь админские привилегии.
                          Евгений Борисов
                          06 ноября 2016, 17:50
                          +5
                          Я так и не понял чем смена префикса вас обезопасит
                          SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%users'
                          Василий Наумкин
                          06 ноября 2016, 18:18
                          0
                          Хороший вопрос.

                          Надеюсь, что результат выполнения запроса увидеть никак нельзя, но я уже ни в чём не уверен.
                          Роман Садоян
                          06 ноября 2016, 18:23
                          +3
                          Евгений, а есть способ защиты от этого?
                          Можно к файлам в connectors перекрыть доступ, но это только, если статический IP у манагеров, админов.
                          Евгений Борисов
                          06 ноября 2016, 18:30
                          +5
                          В свое время я пытался искать пути решения. Но политика разработчиков убила и я плюнул. Они каждый раз просто меняют вектор атаки. В прошлый раз эта уязвимость позволяла подменять контексты и рулить всем сайтом. Они добавили проверку прав доступа.

                          Теперь эта же уязвимость но в другом месте. И опять, все идет по какому-то странному пути — закрывают отображение префикса из конфигов, которые доступны только из админки.

                          Коли так, то вообще всю админу нужно удалять. Не понимаю, зачем делать проверку на расширения доступные к загрузке, если пользователь может переименовать файл!!! Заливаем .jpg и меняем на .php => PROFIT!

                          В общем бред, бред и еще раз бред.
                          Сергей Шлоков
                          06 ноября 2016, 18:47
                          +3
                          Мляха-буха, жаль тут нет смайлика с битьем головой об стену. Вставил бы 20. Чего делать-то?
                          Fi1osof
                          06 ноября 2016, 18:55
                          +3
                          Не понимаю, зачем делать проверку на расширения доступные к загрузке, если пользователь может переименовать файл!!! Заливаем .jpg и меняем на .php => PROFIT!
                          А, ну это да, есть такое дело)))
                          Fi1osof
                          06 ноября 2016, 18:33
                          0
                          Я так и не понял чем смена префикса вас обезопасит
                          SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%users'
                          Да, такой запрос можно выполнить, но вот увидеть его результаты — очень сложно. Модифицировать запрос так, чтобы подменить ему выводимые колонки — такого не получалось. Получалось только выполнить втемную. А втемную — это уже никак, если не знаешь префиксы. Сам попробуй сломать сайт с кастомными префиксами.
                          Евгений Борисов
                          06 ноября 2016, 18:40
                          +3
                          Сам попробуй сломать сайт с кастомными префиксами.
                          Это сейчас на слабо проверка? Банальный брутфорс по 1 символу.

                          $c = array_merge(range(0, 9), range('a', 'z'), ['-', '_', '.', '@'], range('A', 'Z'));
                          $p = 0;
                          //(SELECT IF(ORD(SUBSTRING(TABLE_SCHEMA,".$p.",1)) = '.ord($c).',1,9999999) FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%users' LIMIT 0,1)
                          Fi1osof
                          06 ноября 2016, 18:54
                          +2
                          Это сейчас на слабо проверка?
                          Никакой проверки на слабо. Я описываю сейчас не теории, а реальный результат. То есть пошел, сломал, написал. Ты сейчас теоритизируешь (при всем моем уважении.)
                          Банальный брутфорс по 1 символу.
                          Если ты вдруг читал исходную статью, то там я писал устанавливать сложные префиксы. Даже немного математики было:
                          Если у вас будет базовый префикс modx_ или какой-то простой типа prfx_, то методом перебора можно будет довольно быстро выполнить атаку (здесь всего примерно 30^4, то есть 810 000. По 10 запросов в секунду за 22 часа можно перебрать все возможные варианты). По этой причине советую сложные префиксы давать типа My_PrfX234_. Здесь уже и маленькие, и большие буквы, и цифры, а это уже 70^10 или 2824752490000000000 вариаций. Вот это уже просто времени не хватит подбирать.
                          Ты сейчас вообще php-код приводишь. То есть предполагается, что твой скрипт будет работать на стороне целевого сервера уже? Если у тебя там php твой работает, то какой смысл? Уже все сломано. А если ты им просто фигачишь запросы на целевой сервер, то с учетом задержек даже идеальных 10 мсек с учетом вычислений выше как быстро ты получишь результат?
                          Евгений Борисов
                          06 ноября 2016, 18:59
                          +1
                          пошел, сломал, написал.
                          Проходили. Даже последствия обсуждали. Спасибо, но пусть я лучше для тебе останусь теоретиком.
                          Fi1osof
                          06 ноября 2016, 19:05
                          0
                          Спасибо, но пусть я лучше для тебе останусь теоретиком.
                          Ну ОК, не поспоришь))
                          Fi1osof
                          06 ноября 2016, 10:21
                          +2
                          Кстати, хочешь еще больше жути? Я только что провел успешную атаку через коннектор компонента Gallery. При чем это касается большинства сторонних компонентов. На твоем tickets так же прошло. pdoTools не позволяет. Суть в том, что у них них же тоже коннекторы есть, и они в итоге долбятся в системный коннектор. А там уже и в системные процессоры достучаться можно.
                          И здесь опять-таки, спасают кастомные префиксы таблиц.
                          Fi1osof
                          06 ноября 2016, 13:18
                          +1
                          На твоем tickets так же прошло. pdoTools не позволяет.
                          К слову, здесь хотел бы показать как я борюсь с подобным. Уже очень давно у меня практика принята все входящие вызовы процессоров проверять жестко. Здесь из коннектора запросы могут идти только на один паблик-процессор, где уже на уровне метода getInstance() решается можно запрошенный процессор выполнить или нет. Да, не очень удобно, зато гораздо надежней.
                          Fi1osof
                          06 ноября 2016, 09:21
                          +1
                          И еще кстати — в текущей заметке этого UPD2 до сих пор нет.
                          Если эту тему развивать, то там уже надо UPD3, писать, UPD4 и еще несколько. К примеру, помнишь же игры с контекстами, которые тогда Женя проводил, и которые и послужили тем грубым багом, из-за которого сайты массово валили? Это же я тогда Женю консультировал joxi.ru/LmGVQx0uRQbx5r
                          Понятно дело, что он многое сам домыслил и доделал, но сама бага мне была понятна и очевидна, и я про нее говорил Райну тоже, но он действительно отмахнулся, а я не стал развивать тему и ломать им сайт. Так вот, багу не совсем закрыли, точнее, сама архитектура MODX-а такова, что все эти уязвимости во многом являются не багами, а фичами. Это такой механизм безопасности. И уязвимости можно задействовать даже с передачей существующего контекста, если политики не правильно настроены (ведь даже аноним по сути автоматом авторизован в контексте web, а это значит уже НЕ НЕ авторизован). Кстати, что интересно, воспользоваться этим механизмом позволяет как раз JS-компонент MODx, который не сложно подключить даже на фронт сайта просто через редактирование HTML-а, а если можно попасть на входную страницу админки, так вообще проблем нет никаких.
                          По сути, если ты хочешь дать кому-то права на выборки документов и прочих элементов, давать их надо не на контексты, а на конкретные элементы. Но тут проблема в неудобстве сразу встает — если ты хоть кому-то дал права на какие-то группы элементов, значит все остальные сразу лесом пойдут, то есть придется всем остальным так же права прописывать.
                          Есть у меня одна хорошая, но довольно сложная статья, которая несколько проливает свет на все это.
                          А так можно, к примеру, получить список всех сниппетов и плагинов на сайте. Да, модифицировать их не получится, но если проанализировать их кода хорошенько, можно попробовать найти какие-нибудь логические ошибки, особенно там, где используются механизмы формирования ключей для автоматической авторизации пользователей, проведения платежей и т.п.

                          В общем, точек входа довольно много, можно несколько отдельных статей написать про них, поэтому я не стал много воды лить, я просто привел максимально эффективное на мой взгляд решение. Практически все эти проблемы решаются сменой префиксов таблиц и сокрытием папки коннекторов.
                          Это сообщение было удалено
                          Fi1osof
                          06 ноября 2016, 17:19
                          0
                          Полная переписка — это перемешивание сразу нескольких тем, ну да не важно. Ты таким образом хотел сказать, что мне не была известна эта уязвимость или что именно? Или обсуждение данного вопроса ты не считаешь консультированием?
                          lexikon
                          09 ноября 2016, 11:32
                          0
                          Как скрыть папку коннекторов? если все плагины и расширения передают их в теле документа?
                          Fi1osof
                          09 ноября 2016, 12:11
                          +1
                          Правильные компоненты пляшут от системных настроек assets_url, connectors_url и т.п. Правите системные настройки и все, все нормальные компоненты должны сменить УРЛы формируемые.
                          Евгений Борисов
                          06 ноября 2016, 18:03
                          +5
                          И, насколько я помню, Евгений еще далеко не всё показал. Не удивлюсь, если и про сегодняшний баг он давно в курсе, просто стимула рассказывать авторам MODX больше нет.
                          Все верно.
                          $modx->getObject('modResource', array(
                              'modResource.id`IN (SELECT 1,1,1,1,1,1,1,1,1,1,1,1,1,1)#' => ''
                          ));
                          А еще есть возможность создания произвольных файлов на сервере.

                          P.S. Да простит меня неуловимый ДЖО и его разработчики:-)))))
                          Василий Наумкин
                          06 ноября 2016, 18:25
                          +1
                          Может поэтому в Eloquent есть отдельно Raw expressions?

                          Вообще, грусть-тоска. Я наивно полагал, что работа через xPDO меня как-то защищает. Очевидно, это всё в прошлом и нужно пересматривать все свои дополнения.

                          Спасибо за PR в pdoTools!
                          Fi1osof
                          06 ноября 2016, 18:47
                          0
                          $modx->getObject('modResource', array(
                          'modResource.id`IN (SELECT 1,1,1,1,1,1,1,1,1,1,1,1,1,1)#' => ''
                          ));
                          А это что должно делать? Кроме возможности вставить подзапрос на выборку ничего не увидел, а update-запрос здесь не увидел возможность вставить.

                          Кстати, если поиграться с запросом, можно даже такое получить: SQL injection attempt detected.

                          А еще есть возможность создания произвольных файлов на сервере.
                          Есть или была? Я проверял все процессоры на работу с файлами, они защищены. Но может что-то проморгал.
                          Евгений Борисов
                          06 ноября 2016, 18:50
                          +1
                          А это что должно делать? Кроме возможности вставить подзапрос на выборку ничего не увидел
                          Учим матчасть на тему слепой SQL-injection. Кто знает, тот поймет. И да, в коде специально куча ошибок. Это лишь демонстрация общего принципа, чтобы нельзя было копипастом воспользоваться.

                          Кстати, если поиграться с запросом, можно даже такое получить: SQL injection attempt detected.
                          Это фишка хостера
                          Fi1osof
                          06 ноября 2016, 19:13
                          +1
                          Учим матчасть на тему слепой SQL-injection
                          Хорошо, поверю тебе на слово, что можно в непроцедурный SQL воткнуть какую-то процедуру, чтобы весь перебор прошел на стороне сервера.

                          Это фишка хостера
                          Это фишка xPDO.
                          Евгений Борисов
                          06 ноября 2016, 19:19
                          +1
                          Хорошо, поверю тебе на слово, что можно в непроцедурный SQL воткнуть какую-то процедуру, чтобы весь перебор прошел на стороне сервера.
                          ))))))))) Ок. Пусть это так теперь называется))))

                          Это фишка xPDO.
                          Тогда расходимся. Безопасность на высоте.
                          Fi1osof
                          06 ноября 2016, 19:23
                          +1
                          Тогда расходимся. Безопасность на высоте.
                          Шутка зачтена))
                          Евгений Борисов
                          06 ноября 2016, 23:48
                          +3
                          Это фишка xPDO.
                          Тогда расходимся. Безопасность на высоте.
                          Обходится эта проверка на раз
                          var_dump([
                                  isValidClause("SELECT 1 UNION SELECT IF(ORD(SUBSTRING(TABLE_SCHEMA,0,1)) = 0,1,9999999) FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%users' LIMIT 0,1)"),
                                  isValidClause("SELECT 1 UNION/**/SELECT IF(ORD(SUBSTRING(TABLE_SCHEMA,0,1)) = 0,1,9999999) FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%users' LIMIT 0,1)")
                           ]);
                          Fi1osof
                          07 ноября 2016, 06:56
                          0
                          Вот именно по этому я и говорил выше, что я против слишком серьезной безопасности. Сейчас xPDO даже не позволяет FIND_IN_SET() использовать, приходится тоже исхитряться (типа лишних пробелов :)). И если для обеспечения безопасности надо запретить юнионы — я категорически против. Добавить фильтрацию запросов (типа как это в modX::sanitize сделано) — это я не против. Сам xPDO гайки закручивать — против.
                          Евгений Борисов
                          06 ноября 2016, 18:53
                          +3
                          Есть или была? Я проверял все процессоры на работу с файлами, они защищены. Но может что-то проморгал.
                          Есть. Ищи в phpthumb
                          Fi1osof
                          06 ноября 2016, 19:04
                          +1
                          Есть. Ищи в phpthumb
                          Его я тоже смотрел. Да, он не сильно защищен в плане авторизации, но он жестко закрыт по экшену, вызывается только его процессор. А там получение только картинок. Может какая проблема есть в самом phpThumb, но я его не очень знаю.
                          Сергей Шлоков
                          06 ноября 2016, 19:06
                          +1
                          Т.е. если никого не пускать в админку и не делать загрузку файлов на сайте можно спокойно спать?
                          Евгений Борисов
                          06 ноября 2016, 19:08
                          +5
                          Спокойно спать можно если не делать сайты на MODX)). По сабжу — не юзать phpthumb, не юзать getObject без валидации данных, не пускать в адинку, экранировать modx теги, и бла-бла-бла…
                          Сергей Шлоков
                          06 ноября 2016, 19:11
                          0
                          Спокойно спать можно если не делать сайты на MODX)).
                          А на чём? Ларавел? Несколько лет назад также говорили про джумлу и WP.
                          Евгений Борисов
                          06 ноября 2016, 19:13
                          +1
                          А на чём? Ларавел?
                          Каждый выбирает сам. Свой путь я выбрал. Тему MODX мониторю просто чтобы не выпадать из тренда, но уже не принимаю никаких действий как разработчик.
                          Fi1osof
                          06 ноября 2016, 19:15
                          +4
                          Я останусь на MODX. Мне он нравится :)
                          Сергей Шлоков
                          06 ноября 2016, 19:52
                          0
                          Каждый выбирает сам. Свой путь я выбрал.
                          Если не секрет, скажи тихонько только мне :)
                          Роман Садоян
                          06 ноября 2016, 19:58
                          0
                          Сделать свой modx на симфони))))
                          Fi1osof
                          06 ноября 2016, 20:01
                          0
                          На сколько я понимаю, друпал уже попробовали. Вроде как не очень вышло.
                          Евгений Борисов
                          06 ноября 2016, 20:00
                          +1
                          MODX Evo только для визиток. Но планирую переходить на OctoberCMS. Эта CMS основана на базе Laravel. Один из разработчиков русский парень. Продуманная схема монетизации. Один из крупных русских проектов сделан на этом движке — www.alfa-forex.ru (дочка альфа-банка).

                          С шаблонными интернет-магазинами я не работаю, поэтому тут посоветовать ничего не могу. Ну а вообще Laravel — для всех остальных проектов сложнее визитки.
                          Сергей Шлоков
                          06 ноября 2016, 20:06
                          0
                          Понял. Спасибо! Из этого делаю вывод, что ларавел не имеет таких проблем безопасности. :)
                          Роман Садоян
                          06 ноября 2016, 20:15
                          +2
                          Тренды говорят, что нужно уходить в JS на ноду, ставить метеор или экспресс, но это как идти вые***аться в чужой двор. Там своих проблем должно хватать.
                          Laravel сейчас топ-1 PHP фреймворк. Если важна скорость, то можно посмотреть в сторону Phalcon, а если какое-то Enterprise решение, то на мой взгляд — Symfony.
                          Для всего остального есть Laravel :D
                          P.S.: Писать на Laravel приятно. Но куда девать любовь к MODX?
                          Евгений Борисов
                          06 ноября 2016, 20:30
                          1
                          0
                          P.S.: Писать на Laravel приятно. Но куда девать любовь к MODX?
                          Сюда. Я это использую для того, чтобы манагер мог в любое место контента вставить галлерею или несколько. Форму обратной связи/подбора тура.
                          <?php $content = isset($content) ? Modx::mergeSnippets($content) : ''; ?>
                          @if( ! empty($content))
                              <div class="contacts-form text-content" itemprop="articleBody">
                                  {!!  $content !!}
                              </div>
                          @endif
                          Как пример https://premier-tur.com/sanitariums/abzakovo — страница объекта с несколькими каруселями и формой в произвольных местах. В итоге MODX теги обрабатываются не везде, а только там, где это нужно.
                          Сергей Шлоков
                          07 ноября 2016, 12:22
                          +1
                          Но куда девать любовь к MODX?
                          Может вернуть Джейсону обратно? Как мне кажется, автор должен быть заинтересован в совершенстве своего детища. А уж вопросы с безопасностью вообще должны решаться в доли секунды. Например, Цукерберг платит за найденные уязвимости. А тут нашли, сказали, наконец, доказали на собственном сайте, и только после этого они решили пошевилиться (речь о Евгении Борисове). Да и сейчас, видишь ли, у них выходные. Охренеть. «Такой хоккей нам не нужен».
                          Виталий Батушев
                          07 ноября 2016, 12:45
                          +6
                          Не стоит сравнивать проприетарный софт с опенсорсом. С последним сплошь и рядом такая фигня — автор устал, автору некогда, автор рубит бабло, автор вспотел — множество причин, почему автор навалить сорок куч на на «совершенство своего детища».
                          Роман Садоян
                          07 ноября 2016, 13:29
                          +1
                          Предлагаешь не юзать OpenSource?
                          Авторы позиционируют MODX как безопасную CMS, а тут выясняется, что это не так, что они не занимаются закрытием дыры, а просто меняют вектор атаки.
                          Я был вообще не в курсе таких проблем, даже после публикации этой статьи, пока не отписал Евгений Борисов. Я не менял префиксы таблиц, я просто закрыл доступ к /core/ /connectors/ и /manager/ там где можно, но есть проекты, где я сделать это не могу.

                          На мой взгляд именно Open Source способствует поиску уязвимостей. Ведь автор не один, комьюнити MODX это не комьюнити AltoCMS или Livestreet, где продукт пилят 1-2 разработчика.

                          Наличие такой дыры заставило серьезно задуматься о дальнейшей разработки проектов на MODX CMS.
                          Виталий Батушев
                          07 ноября 2016, 13:46
                          +1
                          Предлагаю не сравнивать несравниваемое.
                          Мое личное, сугубо субъективное мнение — форма собственности на продукт никак не влияет на его качество. От слова «совсем», усиленного наречием «вообще». Ну, и на поиск уязвимостей это так же мало влияет. Комьюнити, может, и большое, но окончательные точки расставляет ограниченное количество людей — что в открытом, что в закрытом коде. При этом, заметь, что если это не твоя работа, приносящая тебе деньги, то срочно бросать приносящую доход деятельность (семью, шашлыки и прочие радости жизни) ради хобби — несколько странно. Я к тому, что не нужно ждать чудес.
                          Однако опенсорс предполагает, что если не нравится работа автора, тащишь себе в норку, распускаешь на нитки и вяжешь волшебство по своему разумению.
                          Серьезно задумываться можно и без наличия дыр где бы то ни было :) У нас, гадство, работа такая :)
                          Евгений Борисов
                          07 ноября 2016, 23:15
                          +1
                          просто закрыл доступ к /core/ /connectors/ и /manager/ там где можно
                          Это проблему не решает. Есть куча точек в хода из различных компонентов, которые оставляют коннекторы в /assets/components/

                          В общем печалька. Решения нет. Я думаю даже в ближайшем будущем не будет — все сведется к тому, что данные нужно фильтровать заранее. Так, как это делают до сих пор в MODX Evo. Так что получается, что xPDO далеко не PDO, а псведо-pdo с частичной обработкой входных данных + куча костылей.
                          Fi1osof
                          08 ноября 2016, 06:31
                          0
                          Так что получается, что xPDO далеко не PDO
                          Жень, а при чем тут это? Это же PDO выполняет запрос к базе данных, а не xPDO. Это он, по идее, должен следить за состоянием запроса и инъекции высматривать.
                          Сергей Шлоков
                          08 ноября 2016, 08:55
                          0
                          Есть куча точек в хода из различных компонентов, которые оставляют коннекторы в /assets/components/
                          Евгений, а такая проверка в коннекторе может закрыть эту точку входа?

                          ...
                          require_once MODX_CONNECTORS_PATH . 'index.php';
                          
                          $auth = !empty($modx->user) && isset($_REQUEST['HTTP_MODAUTH']) && $_REQUEST['HTTP_MODAUTH'] == $modx->user->getUserToken('mgr');
                          if (!$auth) {
                              // Тут можно любые переадресации делать. Этот код для примера.
                              header("Content-Type: application/json; charset=UTF-8");
                              header('HTTP/1.1 401 Not Authorized');
                              echo $modx->toJSON(array(
                                  'success' => false,
                                  'code' => 401,
                              ));
                              @session_write_close();
                              die();
                          }
                          ...
                          Fi1osof
                          08 ноября 2016, 10:21
                          0
                          $auth = !empty($modx->user) && isset($_REQUEST['HTTP_MODAUTH']) && $_REQUEST['HTTP_MODAUTH'] == $modx->user->getUserToken('mgr');
                          if (!$auth) {
                          Сергей, то есть ты хочешь, чтобы все коннекторы обязательно были завязаны на контекст mgr и авторизацию в нем? Даже картинки, выводимые через phpThumb? Вообще все? И обновление собственного профиля в админке? Серьезно?
                          Не надо так делать!
                          Сергей Шлоков
                          08 ноября 2016, 10:25
                          0
                          Я писал только про коннектор из modExtra, который используется для создания своих компонентов.
                          А если заменить на $modx->user->getUserToken($modx->context->key)? Главное, проверить сессию с секретным ключом.
                          Fi1osof
                          08 ноября 2016, 10:28
                          +1
                          Главное, проверить сессию с секретным ключом.
                          Если это будет контекст web, И что это даст? Личные кабинеты теперь никому не давать? А если давать, значит у пользователя будет этот ключ. Мы же здесь авторизованы.
                          Сергей Шлоков
                          08 ноября 2016, 10:33
                          0
                          Как то так.
                          Fi1osof
                          08 ноября 2016, 10:50
                          0
                          Сергей, я запросы не со стороннего сервера слал, а из браузера. То есть здесь никаких кроссзапросов.
                          Евгений Борисов
                          08 ноября 2016, 12:31
                          0
                          Сергей, токены отчасти усложнят задачу. Но не решают ее. Грузится страница, берется токен. Затем этот токен и кукиусы подставляются в следующий запрос к уязвимому сценарию.
                          Сергей Шлоков
                          08 ноября 2016, 13:31
                          +1
                          Йошкин кот. Пошёл изучать laravel.
                          Василий Наумкин
                          08 ноября 2016, 14:02
                          0
                          Там CSRF из коробки работает для ajax запросов, но принцип тот же: токен привязывается к сессии и не меняется на протяжении всей её жизни.
                          Сергей Шлоков
                          08 ноября 2016, 14:10
                          0
                          Евгений Борисов
                          08 ноября 2016, 17:50
                          0
                          В Joomla так же есть CSRF. И для сплоита под CVE-2016-8869 + CVE-2016-8870 это не стало проблемой.
                          Роман Садоян
                          08 ноября 2016, 14:13
                          0
                          Может бложек вести будешь?
                          У Евгения был раньше, а сейчас что-то нет.
                          Сергей Шлоков
                          08 ноября 2016, 14:16
                          +1
                          Была такая мысль.
                          Сергей Шлоков
                          07 ноября 2016, 15:25
                          +2
                          Не стоит сравнивать проприетарный софт с опенсорсом. С последним сплошь и рядом такая фигня — автор устал, автору некогда, автор рубит бабло, автор вспотел — множество причин, почему автор навалить сорок куч на на «совершенство своего детища».
                          А авторы MODX бабло то на чём рубят, на ноде?
                          Евгений Борисов
                          06 ноября 2016, 17:40
                          +2
                          Потому, что они не реагировали на багрепорты;-) И это был единственный способ заставить их шевелиться. Увы, но это правда.
                          Fi1osof
                          05 ноября 2016, 19:04
                          0
                          Вот этого точно вряд ли дождусь)
      Борода
      05 ноября 2016, 13:00
      0
      В Джумле, начиная с какой-то версии, префикс таблиц генерируется во время установки, либо можно самому задать. Хотя раньше был стандартный. Странно, что в МОДЭКС до сих пор такого нет.

      Я переходил с Джумлы, поэтому использую оба способа) Префикс и авторизацию через веб)
        Дима Сайт old см. профиль
        05 ноября 2016, 17:07
        +5
        Большое вам спасибо за находку и предоставленный способ решения проблемы.
        Огорчает, когда в любимом движке обнаруживаются такие серьезные проблемы, но отрадно, что это исправимо без серьезных трудозатрат.
        Отличная возможность с пользой провести выходные…
          Fi1osof
          05 ноября 2016, 17:16
          +4
          Всегда пожалуйста!
          Николай
          05 ноября 2016, 19:54
          0
          Добрый день, получается при обновлении нужно возвращать префикс обратно? Неужели нет возможности задавать префикс при обновлении или только в адванс версии?
            Fi1osof
            05 ноября 2016, 20:52
            +2
            Перечитайте комментарии.
              Николай
              05 ноября 2016, 21:53
              0
              Николай, спасибо! По хорошему действительно обновление должно автоматом генерить нестандартные префиксы таблиц.
              Надо еще потестировать, что все снипеты нормально работают после смены префикса.
                Fi1osof
                06 ноября 2016, 07:19
                0
                Если вы нигде не пишите чистые SQL-запросы (или хотя бы для формирования имен таблиц в таких запросах используете $modx->getTableName($class)), то все у вас будет работать нормально.
            Bluetenstadt
            06 ноября 2016, 03:55
            0
            Такое чувство что все проигнорировали пост Закалка MODX Revolution (перевод) (15 февраля 2016) от пользователя Алексей Бгатов.

            Изменение префиксов таблиц базы данных

            Лучше всего это делать при первоначальной установке, но никогда не поздно. Отказаться от дефолтного modx_ в пользу кастомного префикса полезно, поскольку это затруднит работу хакеру, который как-то заимел возможность делать SQL-инъекции в твою базу.
            В той статье много полезностей.
              Fi1osof
              06 ноября 2016, 07:29
              +4
              И до этого много раз об этом говорилось. Ну и что? Осознавать начинаем только тогда, когда реально взлом прошел. Многие просто недопонимают опасности. А она есть. С учетом того, что результат я получил уже в течение часа (а потом в течение пары часов еще несколько дыр), после того как задался вопросом «А смогу?», если кто-то сильно заморочится, то может не за час, но за несколько часов это может сделать. Если вы с MODX более двух лет знакомы, то должны помнить волну взломов MODX-сайтов, пока не выпустили обновленную версию с заплатками. Тогда сайты ломали просто в автоматическом режиме, ходили боты по интернету, находили Рево-сайты и ломали. Так вот, текущие уязвимости из этой же серии, под них можно написать ботов и полетят сайты массово. Конкретно от этой уязвимости спасет кастомный префик таблиц. Поэтому как минимум свои важные сайты обновите.
              Константин Ильин
              06 ноября 2016, 10:27
              0
              Николай, первое это конечно огромное большое спасибо за «защиту» наших сайтов!
              Печально конечно, я до недавнего времени думал, что modx лучшая из лучших, считал гарантом и людям говорил зачем тебе битрикс за 20 тысяч в год если есть modx с большими возможностями и безопасностью. А оказывается дыр полно. Префикс старался менять на сайтах, но все же он не был супер сложным.

              Практически все эти проблемы решаются сменой префиксов таблиц и сокрытием папки коннекторов.
              Есть еще проблемы и как они решаются? т.е. я так понимаю их много и от этого становится еще печальней.

              Парни из modx что-то ответили? или надо их сайт взломать, чтоб они поняли…
                Fi1osof
                06 ноября 2016, 10:31
                +3
                Не за что.

                Про битрикс: если бы я его изучал 7 лет, как MODX, наверняка я там еще больше дыр нашел бы. В целом MODX довольно хорошо защищен, далеко не каждый взломает.

                Есть еще проблемы и как они решаются?
                Я писал довольно много здесь про другие дыры, стоит перечитать комменты. Так или иначе, практически от всех этих уязвимостей спасает смена префиксов.

                Парни из modx что-то ответили? или надо их сайт взломать, чтоб они поняли…
                Они взяли на заметку. В отличие от нас буржуи привыкли в выходные отдыхать. Наверняка завтра примут PR. Но этот ПР не решение проблемы в целом, префиксы менять все равно надо.
                  Константин Ильин
                  06 ноября 2016, 10:43
                  0
                  Понял))
                  Допустим если не идти легким путем, т.е. не менять префикс, а решать проблему в корне, я так понимаю в ядре копаться?
                  А ты им предложил в корне проблему решать(может даже решение дал) или они завтра напишут срочно все меняйте префиксы?))
                    Fi1osof
                    06 ноября 2016, 10:57
                    +3
                    Константин, не факт, что эту проблему можно решить на корню. Здесь слишком много аспектов. Смена префикса — это скорее всего и есть решение проблемы на корню. Да, многим не привычно и не удобно может быть, но при установке сменить префикс — это несколько символов вбить.
                      Константин Ильин
                      06 ноября 2016, 11:20
                      +3
                      Префикс (не зря же его придумали), как и соль в паролях, создан для защиты от злоумышленников и не зря при установке есть возможность указать его.
                      Плохо то, что в modx можно сделать sql-инъекцию.
                Николай
                06 ноября 2016, 16:14
                0
                Пока нашел, что в AdvSearch перестает работать поиск, если используется Query hook, в котором нужно прописывать prefix.
                  Fi1osof
                  06 ноября 2016, 16:22
                  +1
                  Речь об этом компоненте? Можете ссылку дать на конкретную строчку кода, где там используется префикс?
                    Николай
                    06 ноября 2016, 17:56
                    0
                    Речь идет не о самом снипете, а о хуке к нему для поиска в своих таблицах.
                    В последнемпосте пример такого хука. Без указания префикса он почему-то не работал.

                    К сожалению, сейчас компонент не поддерживается и найти актуальные доки невозможно. У goldsky доки не актуализировались и была ли вообще решена проблема не понятно.
                    Жаль, хороший компонент, очень…
                      Fi1osof
                      06 ноября 2016, 18:14
                      +2
                      Речь идет не о самом снипете, а о хуке к нему для поиска в своих таблицах.
                      Вопрос тогда больше к своим сниппетам, а не к компоненту.
                      А вот это:
                      $main = array(
                      'tablePrefix' => 'modx_', //The fix
                      правильней переписать на
                      $main = array(
                      'tablePrefix' => $modx->config['table_prefix'], //The fix
                      Во всяком случае в рамках парадигмы конкретно этого случая.
                        Николай
                        06 ноября 2016, 18:16
                        0
                        ого, спасибо!
                          Fi1osof
                          06 ноября 2016, 19:22
                          +1
                          Не за что!
                  t3mnikov
                  07 ноября 2016, 07:36
                  +4
                  Спасибо за находку, Николай!
                  Мой комент не в тему, но все же: если погуглить 'index of modx core' — можно найти тонну сайтов на MODX, с проиндексированным каталогами. Можно скачивать zip-компоненты, просматривать версию MODX через changelog.txt. Владельцы этих сайтов даже не подозревают о том, что уязвимы. Всему виной Apache и безответственность администрации хостинга.
                    Fi1osof
                    07 ноября 2016, 07:45
                    0
                    Пожалуйста!

                    +1
                      Василий Наумкин
                      07 ноября 2016, 09:09
                      +3
                      Кошмар какой!


                      Предлагаю написать про это отдельный топик, наверняка многие не в курсе. И да, на modhost.pro по умолчанию для всех сайтов прописано правило
                      location ~* ^/core/ {
                          deny                all;
                      }
                        Владимир
                        07 ноября 2016, 11:03
                        0
                        Василий, а вот бы еще, в свете недавнего шухера с безопасностью, составить список расширений на предмет глюков при изменении путей к папкам и т.п…
                        В топик же не получится вставить опросник типа reformal.ru? Или есть такая возможность?
                        (я к тому, что такой опросник могли бы обновлять все, а не только автор топика)
                          Василий Наумкин
                          07 ноября 2016, 11:09
                          2
                          +2
                          Все нормальные дополнения будут работать без проблем с любым префиксом и папками, ибо они получается из системных настроек и констант.

                          Проблемы могут быть только с собственными сниппетами, которые хардкодят префикс вот так
                          $res = $modx->query("SELECT * FROM modx_users WHERE...");
                          вместо
                          $res = $modx->query("SELECT * FROM {$modx->config['table_prefix']}_users WHERE...");
                          или даже
                          $res = $modx->query("SELECT * FROM {$modx->getTableName('modUser')} WHERE...");
                          это если есть xPDO модель для этой таблицы
                            Владимир
                            07 ноября 2016, 11:12
                            0
                            Нет, нет, я ж не о префиксе, я об изменении путей, переименовании каталогов и т.п.
                            Просто хотелось бы список глючных (в этом случае) расширений все такие составить, ну, мало ли…
                              Василий Наумкин
                              07 ноября 2016, 11:21
                              1
                              +3
                              Никакой разницы. Все нормальные дополнения используют
                              MODX_CORE_PATH
                              MODX_ASSETS_URL
                              MODX_ASSETS_PATH
                              MODX_MANAGER_URL и т.д.

                              Хочется составлять и обновлять список — на здоровье. Каждый тратит своё время как хочет.
                    zenit
                    zenit
                    07 ноября 2016, 17:19
                    -23
                    Абсолютно бесполезная вещь с заменой префикса, и нихрена его не долго брутить. Крутишь слепую скулю — проверяешь каждый символ по очередно и за 5 мин твой My_PrfX234_ подбереться. Тут просто cms гомно в плане безопасности
                      Роман Садоян
                      07 ноября 2016, 17:20
                      +6
                      Зашел/Зарегился что бы обосрать MODX?)))
                        zenit
                        zenit
                        07 ноября 2016, 17:24
                        -15
                        Ты можешь поспорить что не говно в плане безопасности?
                        Сергей Шлоков
                        07 ноября 2016, 17:39
                        +5
                        Мы все с нетерпением через 5 минут ждём от тебя префикс этого сайта.
                          zenit
                          zenit
                          07 ноября 2016, 17:48
                          -15
                          Ну после дефейса согласишься, мне впадлу чет тут кому-то доказывать…
                            Сергей Шлоков
                            07 ноября 2016, 17:53
                            +14
                            Принимается. Уважительная причина. Хотя я ожидал что-то типа «Меня бабушка кушать зовёт. Как покушаю, сделаю уроки, посмотрю черепашек-ниндзя так сразу сразу».
                              zenit
                              zenit
                              07 ноября 2016, 17:56
                              -13
                              молодец
                            zenit
                            10 ноября 2016, 23:44
                            -1
                            xWdcKH6I4FYU_
                              Василий Наумкин
                              11 ноября 2016, 07:07
                              +2
                              Нет.

                              Это префикс тестового сайта, созданного вчера на modhost.pro
                                Антон
                                11 ноября 2016, 07:50
                                -2
                                Но все-таки это префикс… сайта… на модх…
                                Печаль.
                                  Василий Наумкин
                                  11 ноября 2016, 08:02
                                  +3
                                  Ты тоже так можешь:
                                  1. Заходишь на modhost.pro
                                  2. Создаёшь новый тестовый сайт
                                  3. Смотришь его префикс
                                  4. Profit!

                                  Что и кому это доказывает — непонятно. Речь, всё-таки, шла о префиксе этого сайта, а не любого подряд.
                                    Антон
                                    11 ноября 2016, 08:17
                                    0
                                    Это префикс тестового сайта, созданного вчера на modhost.pro
                                    Дык надо было написать кем именно созданного.
                                    Если он сам создал и посмотрел, то это детский сад, а если он подобрал чужой префикс, то уже печаль.
                                      Василий Наумкин
                                      11 ноября 2016, 08:28
                                      +6
                                      Я не могу со 100% точностью заявлять, что человек, создавший сайт и написавший коммент — одно лицо, паспорт я не проверял.

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

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

                                      В общем вас, хорьков-паникёров, уже не стесняясь троллят, а вы ведётесь.
                                      zenit
                                      11 ноября 2016, 11:34
                                      0
                                      Префикс был получен в результате слепого перебора уязвимого параметра. Следовательно, любой сайт юзающий такой компонент может быть похекан, сиди дальше и продавай дырявый софт
                                        Владимир
                                        11 ноября 2016, 11:37
                                        0
                                        Бла-бла-бла.
                                        Измени мой комментарий. :)) Или поменяй свой рейтинг. А то скучно, правда.
                                          zenit
                                          11 ноября 2016, 11:43
                                          +5
                                          Да я не собираюсь вредить. Но люди тут наотрез не хотят признавать проблемы в бе-сти
                                            Владимир
                                            11 ноября 2016, 11:46
                                            +1
                                            Ни кто не отказывается, просто одно дело проблемы, другое — профанация и троллинг.
                                            Не вреди — доказывай. Или не ***зди. :))
                                              Это сообщение было удалено
                                              Владимир
                                              11 ноября 2016, 12:01
                                              0
                                              дешевый стеб, чё
                                              тестовый сайт тебе ссылку повторить? )) дерзай
                                              zenit
                                              11 ноября 2016, 21:10
                                              0
                                              эт голый modx, не палил его
                                              Владимир
                                              11 ноября 2016, 21:12
                                              0
                                              Т.е. ты дыры в конкретных компонентах нарыл? Голый не вариант ломать?
                                              zenit
                                              11 ноября 2016, 21:39
                                              0
                                              Да, мб и в голом есть. не палил
                                            Владимир
                                            11 ноября 2016, 11:53
                                            0
                                            На, тестовый сайт, s7328.h7.modhost.pro/, 24 часа.
                                    zenit
                                    11 ноября 2016, 12:20
                                    -2
                                    не гони это префикс таблиц базы store сайтика modx.pro (store@localhost)
                                      Василий Наумкин
                                      11 ноября 2016, 13:43
                                      +3
                                      Неа, сайтики modstore.pro и modx.pro даже физически расположены на разных серверах.

                                      Но спасибо за логи, я внимательно смотрю где и что ты перебирал, на какие файлы обращался и какими запросами.
                                      Теперь очевидно, что нужно делать дополнительную фильтрацию всех запросов, перед передачей их в xPDO.
                                        zenit
                                        11 ноября 2016, 20:57
                                        +2
                                        Повезло что на разных серваках. Чтоб ты не отвертелся, админский хэш modxplus:zSWcQ6ZhNOao44BywPCtdiifV5xN5YC886fwF+H0v9s=: соль — e411f02aa6ex4f8f921d2944cd21a366. А там их несколько тысяч. Перебор не быстрый, но за ночь — вариант. Какого масштабы? А какое кол-во сайтов, использующих уязвимые скрипты…
                                        Что там про изменения и большие префиксы писали? Думаю теперь понятно, что эта фигнюшка не шибко поможет..? А вот фильтровать входные параметры грамотно.
                                        И да, те покемоны, кто дизы ставят, походу и приобретали данные модули. Ну терь ждите фиксов от дяди зенита.
                                      zenit
                                      12 ноября 2016, 02:15
                                      +20
                                      Ну вобщем то в завершении темы, т.к. все просили префикс к modx.pro 8KGWv7PW4w3u_
                                        Василий Наумкин
                                        12 ноября 2016, 04:23
                                        +7
                                        Да, ты абсолютно прав — снимаю шляпу.

                                        Я вчера весь день читал про слепые SQL и ставил эксперименты на тестовом сайте. А сегодня весь день буду обновлять свои дополнения на предмет фильтрации этих слепых SQL в запросах.

                                        Очевидно, что на фильтрацию их в самом xPDO полагаться нельзя, как бы ни хотелось.
                                          Антон
                                          12 ноября 2016, 04:35
                                          +1
                                          Что с нашим сообществом не так?
                                          Зениту место в топ10, а ему влепили 95 минусов и забанили.
                                          Пилим сук на котором сидим.
                                            Василий Наумкин
                                            12 ноября 2016, 04:38
                                            +4
                                            С нашим сообществом всё прекрасно.

                                            Человек сначала ярко выступили и получил заслуженные минусы и бан. Затем вернулся и доказал свою правоту — теперь получит почёт и уважение.

                                            Ну а я получил массу информации по методике взлома сайтов, благодаря логам на сервере.
                                            Сергей Шлоков
                                            12 ноября 2016, 07:33
                                            0
                                            А сегодня весь день буду обновлять свои дополнения на предмет фильтрации этих слепых SQL в запросах.
                                            Нам всем теперь нужно это сделать. Было бы неплохо написать про это инструкцию.
                                              Василий Наумкин
                                              12 ноября 2016, 07:36
                                              +2
                                              Я могу написать на что нужно обратить внимание и как исправить, но это же будет и инструкцией по взлому еще неисправленных сайтов и дополнений.

                                              Так что, палка о двух концах. Свои дополнения я поправил, так что можно посмотреть коммиты у тех, что в открытом доступе — должно быть всё понятно.
                                                Сергей Шлоков
                                                12 ноября 2016, 08:22
                                                +2
                                                Думаю, так правильней.
                                                Посмотрел Tickets (только он открыт). mSearch2 и Office обновил не глядя. Данный фикс немного меня успокоил. Я всегда так фильтрую данные в своих компонентах (на всякий ещё проверю все). Я про это даже статью год назад написал. Возможно Евгений её раскритикует, но для обсуждаемого случая она актуальна.
                                                Но этот фикс решает половину проблемы. Что делать с коннектором (connector.php)? Евгений заходит через него. Запрос в ObjectGetProcessor с кривым id и милости просим. MODX это не фильтрует.
                                                Т.е. надо переопределять метод initialize для всех get/update/delete процессоров и фильтровать в нём id.
                                                public function initialize() {
                                                        $primaryKey = (int) $this->getProperty($this->primaryKeyField,false);
                                                	$this->setProperty($this->primaryKeyField, $primaryKey)
                                                	return parent::initialize();
                                                }
                                                Очень хотелось бы услышать мнение Евгения по этому поводу.
                                                П.С. По хорошему, MODX должен в процессоре смотреть мету ключа и фильтровать.
                                                  Василий Наумкин
                                                  12 ноября 2016, 08:41
                                                  +1
                                                  По идее (по идее), в modConnectorResponse идёт проверка на авторизацию в админку и там вообще ничего снаружи не должно проходить.

                                                  Но я уже ни в чём не уверен.
                                                    Сергей Шлоков
                                                    12 ноября 2016, 08:52
                                                    +1
                                                    Но я уже ни в чём не уверен.
                                                    Я тоже. В этом плане знаний маловато. Просто исхожу из комментария Евгения
                                                    Это проблему не решает. Есть куча точек в хода из различных компонентов, которые оставляют коннекторы в /assets/components/
                                                    Насколько я понимаю, именно для этого скрывается папка с коннекторами, а тут лежит в открытом доступе.
                                                    Очень хочется, чтобы Евгений успокоил насчет этого.
                                                    Василий Наумкин
                                                    12 ноября 2016, 09:09
                                                    +1
                                                    Я надеюсь, что речь именно про web-коннекторы.

                                                    Понятное дело, что через коннекторы менеджера тоже можно пролезть, но для этого требуется авторизация, а у web — далеко не всегда.

                                                    Ну, будем ждать еще взломов и смотреть логи, куда и как пролезли.
                                                    Василий Наумкин
                                                    12 ноября 2016, 10:27
                                                    4
                                                    +9
                                                    Покопался в исходниках и написал пока такой фикс xPDO::getCriteria():
                                                    public function getCriteria($className, $type = null, $cacheFlag = true)
                                                    {
                                                        $c = $this->newQuery($className);
                                                        $c->cacheFlag = $cacheFlag;
                                                        if (!empty($type)) {
                                                            if ($type instanceof xPDOCriteria) {
                                                                $c->wrap($type);
                                                            } elseif (is_array($type)) {
                                                                $tmp = array();
                                                                array_walk_recursive($type, function ($v, $k) use (&$tmp) {
                                                                    if (!is_numeric($k)) {
                                                                        $tmp[$k] = $v;
                                                                    }
                                                                });
                                                                if (count($tmp)) {
                                                                    $c->where($tmp);
                                                                }
                                                            } elseif (is_scalar($type)) {
                                                                if ($pk = $this->getPK($className)) {
                                                                    $c->where(array($pk => $type));
                                                                }
                                                            } else {
                                                                $c->where($type);
                                                            }
                                                        }
                                                    
                                                        return $c;
                                                    }
                                                    Это запрещает все запросы на получения объекта xPDO произвольным SQL запросом. Можно использовать либо первичные ключи, либо массивы с прописанными ключами, которые будут проверены при запросе.

                                                    По моим тестам работает хорошо, желающие могут проверить на себе — это файл core/xpdo/xpdo.class.php. Предложил код автору xPDO, буду ждать ответа.
                                                    Сергей Шлоков
                                                    12 ноября 2016, 10:42
                                                    0
                                                    Предложил код автору xPDO, буду ждать ответа.
                                                    Не забывай, сейчас выходные. Да ещё Рождество и Новый год скоро… Надеюсь, хотя бы в третьей версии MODX добавят. Осталось набраться терпения. :)
                                                    Ибо неведомы автору xPDO наши переживания, чего ему ноги ломать…
                                                    Василий Наумкин
                                                    12 ноября 2016, 10:44
                                                    +2
                                                    Да я, хотя-бы, обсудить хочу — есть ли в этом смысл.

                                                    Если есть, то могу и самостоятельно хотфикс в репозитории выложить, не взирая на праздники.
                                                    Сергей Шлоков
                                                    12 ноября 2016, 10:46
                                                    0
                                                    Я себе добавил. Заодно и потестирую.
                                                    Владимир
                                                    12 ноября 2016, 10:44
                                                    0
                                                    А пропатчить существующие сайты еще до принятия автором xPDO предложенного кода, не вариант?

                                                    а, вижу коммент modx.pro/security/10266-critical-vulnerability-in-modx-revolution/#comment-70642
                                                    прадон, поспешил
                                                    Василий Наумкин
                                                    12 ноября 2016, 10:45
                                                    +1
                                                    Я свои уже пропатчил.

                                                    Другой вопрос, закрывает ли это сразу все дыры, или нужно еще методы какие править — потому и спрашиваю автора xPDO, он лучше знает.
                                                    Богдан
                                                    12 ноября 2016, 14:41
                                                    0
                                                    Василий, спасибо за фикс! У меня почему-то возникают проблемы с ним, когда пытаюсь в админке открыть страницу товара minishop2 — вылетает с ошибкой 500, лог Nginx:
                                                    2016/11/12 11:34:00 [error] 19083#19083: *7318843 FastCGI sent in stderr: «PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097160 bytes) in
                                                    /var/www/*******/www/core/components/minishop2/processors/mgr/settings/option/types/combo-options.class.php on line 28" while reading response header from upstream, client: ********, server: *******.***, request: "GET /manager/index.php?a=resource/update&id=2440 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-******.sock:", host: "******.***", referrer: "https://*******.com/manager/?a=resource/update&id=867"
                                                    Страницы категории и обычные страницы в админке открываются нормально.
                                                    Василий Наумкин
                                                    12 ноября 2016, 14:48
                                                    +2
                                                    Это же просто эксперимент пока. Неизвестно где и как отразится ужесточение получения объектов.

                                                    Использовать на свой страх и риск, при получении ошибок — смотреть логи SQL и думать, как исправить.

                                                    У меня на тестовом сайте, например, всё в порядке с combo-options.
                                                    Fi1osof
                                                    12 ноября 2016, 17:33
                                                    -1
                                                    По идее (по идее), в modConnectorResponse идёт проверка на авторизацию в админку и там вообще ничего снаружи не должно проходить.

                                                    Но я уже ни в чём не уверен.
                                                    Поверь, происходит. И в тикетс ты коннектор не поправил. Через него сюда и можно добраться, а там и в другие процессоры. В часть из них и без авторизации.
                                            Евгений Борисов
                                            12 ноября 2016, 14:27
                                            +1
                                            Я считаю, что до тех пор, пока при запросе $modx->getObject('modResource') можно будет получить объект modUsers, тема будет не закрыта.
                                              Василий Наумкин
                                              12 ноября 2016, 14:34
                                              +1
                                              Но как, Шерлок? Особенно вот с этим исправлением?

                                              Там же вроде идёт что-то типа
                                              $object = new $objectName($data);
                                              или типа того. Хотяяя… можно же, наверное, подставить как-бы class_key = 'modUser' и тогда будет создан именно этот объект.
                                          Евгений Борисов
                                          12 ноября 2016, 14:26
                                          +1
                                          Нужно было через POST работать;-) А вообще, давно известно, что Василий в отличии от Философа активно курит логи. Поэтому площадку для демонстрации нужно было выбирать не modx.pro;-)
                                            Василий Наумкин
                                            12 ноября 2016, 14:36
                                            +1
                                            Да там и POST завались, и подбор директорий через OWASP_DirBuster_Project, и еще много всякого в поисковых запросах (вроде всё отфильтровалось).

                                            Я вовсе не уверен, что всё закрыл, но основное — наверняка.
                                              Вася
                                              12 ноября 2016, 14:43
                                              +5
                                              У Зенита явно было желание помочь.
                                      Николай
                                      08 ноября 2016, 09:49
                                      0
                                      Т.е. можно поочереди проверить каждый символ, а не перебирать каждый раз всю комбинацию целиком???

                                      И мы так и не узнаем как…

                                      PS Василий, такой праздник испортил, теперь опять придется на компоненты по 500 руб наскребать, а могли бы за час пароли ко всем банковским картам узнать((
                                        Владимир
                                        08 ноября 2016, 09:52
                                        0
                                        Смешного мало. То что взлом возможен он доказал изменив свой комментарий. Какие уж тут шутки.
                                          Василий Наумкин
                                          08 ноября 2016, 10:20
                                          +1
                                          Это я пошутил.

                                          Подбил на взлёте яркую звезду, которая ушла в рейтинг -10 за 5 комментов.
                                            Владимир
                                            08 ноября 2016, 10:26
                                            0
                                            уффффффф, придется снимать стресс теперь))))))
                                            Николай
                                            08 ноября 2016, 10:52
                                            +2
                                            Вы реально поверили, что он комментарий поправил?))))

                                            Первое что он должен был сделать тогда — это рейтинг себе накрутить — + 1000 в карму. И продолжать долго постить после бана.

                                            А так очевидно было, что это Василий))
                                              Владимир
                                              08 ноября 2016, 11:11
                                              0
                                              Оно, конечно, логично)) Сейчас)) А в момент приступа страха все было иначе))))
                                              Вы реально поверили, что он комментарий поправил?))))
                                              — да)))
                                        zenit
                                        zenit
                                        07 ноября 2016, 17:25
                                        -8
                                        Я хотел вам тут еще много крутого рассказать, но пришёл злой Василий и меня забанил, увы…
                                          2iBiR
                                          07 ноября 2016, 23:03
                                          0
                                          Tell me, bro…
                                            Евгений Борисов
                                            07 ноября 2016, 23:06
                                            +2
                                            Я тоже бы хотел узнать. Вдруг чего-то новое))
                                              Сергей Шлоков
                                              08 ноября 2016, 06:54
                                              0
                                              В 5 минут не уложился, но комментарий, вижу, изменил. Мда, печально всё с MODX.
                                                Владимир
                                                08 ноября 2016, 10:12
                                                0
                                                честно, аж дурно стало) жуть и печаль
                                                  Василий Наумкин
                                                  08 ноября 2016, 10:19
                                                  +4
                                                  Да это я отредактировал, смеха ради.

                                                  Неужели ты думаешь, что забаненый человек с возможностью что-то редактировать обошёлся бы без матов и сам себя не разблокировал?
                                                    Сергей Шлоков
                                                    08 ноября 2016, 10:21
                                                    +1
                                                    Ну и шуточки у тебя. Чуть инфаркта Микарда не получил.
                                                      Владимир
                                                      08 ноября 2016, 10:23
                                                      0
                                                      Если бы ты не сказал, то я так бы до инфаркта и дожил бы… уже сегодня))))))

                                                        Василий Наумкин
                                                        08 ноября 2016, 10:26
                                                        +2
                                                        Я думал, это очевидно, что комментарий от зачёркнутого никнейма изменить мог только «злой Василий».

                                                        Или вы реально поверили в бред про подбор многосимвольного префикса в разных регистрах вслепую?
                                                          Владимир
                                                          08 ноября 2016, 10:28
                                                          0
                                                          Ну, как бы паранойя реальность искажает, страх он такой, может голову совсем снести))
                                                          Или вы реально поверили в бред про подбор многосимвольного префикса в разных регистрах вслепую?
                                                          — нет, в другую дыру, известную злоумышленнику
                                                            Василий Наумкин
                                                            08 ноября 2016, 10:29
                                                            +3
                                                            Не боись.

                                                            При первых же признаках взлома я побегу к Евгению Борисову и он тут всё обезопасит. Возможно, даже со скидкой, по старой дружбе =)
                                                              Владимир
                                                              08 ноября 2016, 10:31
                                                              0
                                                              Аллилуйя! (это не сарказм)
                                                            Fi1osof
                                                            08 ноября 2016, 10:30
                                                            +4
                                                            Или вы реально поверили в бред про подбор многосимвольного префикса в разных регистрах вслепую?
                                                            Судя по всему, многие поверили. У страха глаза велики.
                                                            Значит 70-100 в десятой степени у них выполняется за 300 секунд, а сайты с 1000 документов за 30 секунд не всегда выполняются. Магия какая…
                                                              Владимир
                                                              08 ноября 2016, 10:33
                                                              0
                                                              70-100 в десятой степени
                                                              — нет же, просто скорее веришь в другие, неизвестные дыры, которые мерещатся от любого чиха.
                                                              У страха глаза велики.
                                                              огого!!! именно, да)))
                                                                Евгений Борисов
                                                                08 ноября 2016, 12:02
                                                                +3
                                                                Господи, как же ты смешон. Последний раз я подобный бред нес лет в 14, когда в автобусе пытался объяснить однокласснику почему пользоватлей *win взламывают чаще, чем *nix. Не поверишь, до сих пор эту историю вспоминаю со стыдом. Моя позици была жестка и не поколибима — прям как у тебя сейчас.
                                                                *win — там окошечки. И окошечки можно мышкой перетаскивать. Поэтому нужно контролировать каждый пиксель
                                                                *nix — все в терминале. Он текстовый. Поэтому контролировать мы должны только все печатные символы.
                                                                Вывод: печатных символов меньше чем пикселей на экране. Поэтому *nix взломать проще.

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

                                                                  Fi1osof
                                                                  08 ноября 2016, 16:27
                                                                  0
                                                                  Женя, что-то ты какую-то фигню сейчас сказал. Давай просто? Ты считаешь, что нет разницы между простыми и сложными паролями? Что же народ не пользуется одними только паролями типа 123456 и qwerty? Не потому ли, что их проще подобрать? И ты хочешь сказать, что подобрать префикс типа modx2_ и sdfWE234s_wefSDf_ — одна и та же задача? И время займет это одно и то же?
                                                                    Евгений Борисов
                                                                    08 ноября 2016, 16:49
                                                                    +1
                                                                    Ты путаешь божий дар с яичницей. Полный перебор пароля для некоего хеша и полный посимвольный перебор строки.
                                                                    $str = '123';
                                                                    md5($str) = 202cb962ac59075b964b07152d234b70
                                                                    Т.е. чтобы подобрать пароль 123, тебе нужно перебрать все возможные комбинации символов и букв. Поскольку тебе нужно целиком строчку подбирать, а не посимвольно.

                                                                    С префиксом ситуация другая. Тебе нужно перебирать не всю строку сразу, а по отдельности каждый символ. Слепая SQL-injection на этом и основана, что берется 2 запроса к сайту. Которые приводят к разному выводу. Таким образом, берем некий символ из набора. И подставляем его в запрос. Если запрос отвечает 1 выводом. То символ выбран не верно. Если отвечает вторым выводом — то символ выборан верно и мы берем пробуем подобрать следующий символ неизвестной строки.
                                                                    Таким образом, тут длина строки и разные регистры лишь ненамного увеличивают время перебора.

                                                                    Раз уж ты любишь формулы и наглядые примеры, то дано:
                                                                    Набор символов: 1234567890
                                                                    Перебор хеша пароля из 3 символов: 3^10 = 59049 комбинаций
                                                                    Посимвольный перебор строки из 3 символов: 10*3 = 30

                                                                    Чуешь разницу? Если бы от твоего префикса генерировался некий хеш, то да. Для брута это бы существенно усложнило задачу. В твоем же случае sdfWE234s_wefSDf_ (цифры + буквы +буквы в верхнем регистре + символ _) = 63 символа. Это максимум 1071 запрос к серверу. Как думаешь, 1071 запрос может сервер обработать за 30 секунд? А если запросы еще слать параллельно, а не последовательно?
                                                                      Fi1osof
                                                                      08 ноября 2016, 17:03
                                                                      -2
                                                                      Женя, у тебя тут совсем плохо с математикой.
                                                                      Перебор хеша пароля из 3 символов: 3^10 = 59049 комбинаций
                                                                      Не 3 в десятой, а 10 в третьей. Условно 1000.
                                                                      3 в десятой — это если бы у тебя был набор из трех символов, и длина строки 10 символов. Проще это смотреть в двоичной системе исчисления. У нас есть только два символа — 0 и 1. Количество вариантов для строки из 4 символов в двоичной системе — это два в четвертой степени = 16. В той же системе 8 символов — 2^8 = 256.
                                                                      Если возьмем 16-тиричную систему (то есть набор из 16 символов), то для строки в 8 символов мы получим 4294967296 вариаций. Все RGB цвета зашифрованы всего в три 16-тиричные пары.
                                                                      А в строке sdfWE234s_wefSDf_ 17 символов. Набор символов — a-zA-Z0-9_, то есть 63 символа. Итого это будет 63^17 вариаций. Знаешь сколько это? 3879621350651476389602631582783
                                                                      Не много ли для перебора? Даже локально попробуй себе набрать произвольную строку в 17 символов и перебрать в цикле все вариации.
                                                                      Удивил ты меня с 1071 запросом…
                                                                        Кирилл
                                                                        08 ноября 2016, 17:26
                                                                        +2
                                                                        Он же говорит про слепую инъекцию, т.е. для перебора первого символа из префикса нужно сделать максимум 63 запроса. Раз длина префикса 17 символов, то общее максимальное число запросов для подбора этого префикса: 17х63, что как раз 1071 запрос в общем итоге.
                                                                        Евгений Борисов
                                                                        08 ноября 2016, 17:40
                                                                        +2
                                                                        Начинает подбешивать твоя упертость в своей правоте. Кури скрипт с двумя различными техниками брута строки fD3_
                                                                        Результат работы ошеломляет
                                                                        Full string: fD3_ => 1622943
                                                                        By char: fD3_ => 155
                                                                        И прекрати уже наконец людей вводить в заблуждения. Попахивает моветоном
                                                                        Fi1osof
                                                                        09 ноября 2016, 10:41
                                                                        -3
                                                                        Ладно, поверю тебе на слово, что так возможно подобрать. Но все равно, это уже труднее (хотя бы потому что я не смог этим воспользоваться, наверяка это и другим добавит сложностей).
                                                                        Сергей Шлоков
                                                                        11 ноября 2016, 21:36
                                                                        +1
                                                                        Невозможно перейти на по этой ссылке. Видимо Василий зафильтровал всё нафиг. :)
                                                        Роман Садоян
                                                        08 ноября 2016, 10:25
                                                        0
                                                        .
                                                      Константин Ильин
                                                      08 ноября 2016, 11:37
                                                      +2
                                                      С каждым заходом в эту тему, так становится печальнее… Где-то писали про любовь к модх — она постепенно угасает (скоро будет: «прошла любовь, завяли помидоры»).
                                                      Дабы этого не произошло со всеми и со мной надо найти какое-то решение, потому что здесь оставляем комментарии и дыр выявляется много, а там в кабинетах модх скорее всего ничего не меняется. Где-то месяц назад или более Василий выкладывал новость о создание команды на будущее развитие модх (вроде так было, поправьте если путаю), так вот я предлагаю собрать похожую «команду»,«совет»,«консорциум», просто группа, которая напишет большой БагРепорт и будет в будущем писать о дырах модх, а также если есть решение.

                                                      Например: Василий, Николай и Евгений Борисов, они ребята «авторитетные» и о них в модх знают, проще говоря к ним прислушаются. Написали в модх, что вот там то дыра, поправить можно так-то, в модх увидят, что письмо от этой команды и рассмотрят его и отнесутся с серьезностью, а не просто забьют. Так сказать нужно подсказывать разработчикам («подпинывать») модх, но тем самым сделать очень большое дело!!!
                                                      Глядишь и команда Simple Dream тоже подключится или кто то другой. Даже, хотя бы исходя из финансовой точки зрения, из-за дыр не будет пользователей модх и никто не будет покупать в магазине дополнения и много разных вытекающих последствий…

                                                      Ведь это любовь к модх, а за любовь надо бороться.
                                                        Роман Садоян
                                                        08 ноября 2016, 12:11
                                                        0
                                                        Так Евгений Борисов это и делал (судя по комментам выше), но увы, руководству было всё равно.
                                                          Константин Ильин
                                                          08 ноября 2016, 12:13
                                                          0
                                                          Ну вот я поэтому имел ввиду не один человек, а группу экспертов модх.
                                                          Dmitry
                                                          08 ноября 2016, 12:32
                                                          +2
                                                          Боюсь, что пока кто-то не начнет взламывать сайты авторов MODX, они не начнут относиться серьезно к безопасности движка.
                                                            Евгений Борисов
                                                            08 ноября 2016, 12:37
                                                            +6
                                                            Да были же уже взломы. И чхали они на них. Сейчас вот modxcloud раздает информацию о первых 9 пользователях удовлетворящих запросу. Всего 21168 пользователь. И это только с криво сформированным запросом (никакой SQL-injection и попыток взлома — просто кривой запрос). И это только на этапе регистрации… А что там еще в ЛК твориться — страшно представить.
                                                              Роман Садоян
                                                              08 ноября 2016, 12:43
                                                              0
                                                              А это у Login или у другого компонента кривой контроллер?
                                                              Получается что все дополнения рассчитывали на безопасность XPDO на нижнем уровне (жесткую проверку на авторизацию, строгая типизация какая-нибудь), а как оказалось её там нет, так?

                                                              Или это все та же песня о том, что разработчики (дополнений) сами не фильтруют входные данные и открывают дыры XSS/SQL?
                                                                Евгений Борисов
                                                                08 ноября 2016, 13:04
                                                                +5
                                                                Или это все та же песня о том, что разработчики (дополнений) сами не фильтруют входные данные и открывают дыры XSS/SQL?
                                                                XSS
                                                                Да. Тут XSS делится на 2 вида. XSS для внедрения JS кода. И XSS для внедрения MODX тегов. Многие разработчики не чувствуют разницу. Поэтому если и фильтруют, то по старинке через htmlspecialchars, а этого недостаточно, чтобы обезопаситься от внердения MODX тегов.
                                                                Если же начинать думать глобально. То рождаются костыли (на данный момент такая практика считается нормой — но на мой взгляд, эта норма граничит с дебилизмом)

                                                                А еще, если в запросе будет передано [[*id]], то modx вырежет это из текста. Если помните, был такой баг, когда передавали что-то в стиле [[[[[[[[[[[[[[[[*id]], чтобы получить [[*id]] и обойти встроенную фильтрацию. Пофиксили. Но сейчас есть еще один способ, но из-за множества условий, работает он далеко не везде. И тем не менее, вы уверены, что на вашем сайте новый способ не сработает?

                                                                Лично меня такая гибкость CMS не устраивает с огромным количеством оговорок не устраивает. Поэтому и использую MODX исключительно для визиток, где можно обойтись без этих хаков.

                                                                SQL
                                                                О том, что xPDO позиционируется как удобная прослойка между стулом и pdo. Но если pdo через плейсхолдеры подставляет данные и обрабатывает их. То xPDO иногда этим жертвует, чтобы пользователю дать синтаксический сахар. В итоге получаем конфуз, т.к. SQL запрос в xPDO иногда собирается конкатенацией строк, а не средствами pdo с обработкой.

                                                                Таким образом, программист пишет код думая, что данные будут сами обработаны в соответствии с моделями/схемами. Но они далеко не всегда обрабатываются. А если обрабатывать данные руками, то лично я не вижу разницы между xPDO и нативным pdo. Более того, xPDO мне только все усложняет заставляя делать еще какую-то не нужную работу.
                                                                  Василий Наумкин
                                                                  08 ноября 2016, 14:10
                                                                  +3
                                                                  Жень, скажи честно — вот на modx.pro сейчас есть теоретическая возможность взлома через подобные лазейки?

                                                                  Если есть, напиши мне, пожалуйста, стоимость работ по полному анализу и исправлению на мыло.

                                                                  P.S. Дебилизм — не дебилизм, но вроде через Tickets пока не было массовых взломов.
                                                                    Евгений Борисов
                                                                    08 ноября 2016, 14:13
                                                                    0
                                                                    Жень, скажи честно — вот на modx.pro сейчас есть теоретическая возможность взлома через подобные лазейки?
                                                                    Теоретически — да.
                                                                    Если есть, напиши мне, пожалуйста, стоимость работ по полному анализу и исправлению на мыло.
                                                                    Ниже ответил как я работаю.
                                                                      Василий Наумкин
                                                                      08 ноября 2016, 14:20
                                                                      +1
                                                                      Понял, спасибо.

                                                                      Значит буду проверять свои дополнения самостоятельно.
                                                                      Fi1osof
                                                                      08 ноября 2016, 16:39
                                                                      0
                                                                      P.S. Дебилизм — не дебилизм, но вроде через Tickets пока не было массовых взломов.
                                                                      Я же тебе выше писал, что через тикетс запросто в системные процессоры залез.
                                                                        Василий Наумкин
                                                                        08 ноября 2016, 16:44
                                                                        0
                                                                        Тут речь про фильтрацию тегов на фронтенде.
                                                                          Fi1osof
                                                                          08 ноября 2016, 16:46
                                                                          0
                                                                          Да там скорее всего много чего найдется. Я вообще квадратные скобки на спецсимволы менял и все. &91;
                                                                  Константин Ильин
                                                                  08 ноября 2016, 12:44
                                                                  +1
                                                                  п… — другого слова нет. О какой такой нашей безопасности может идти речь если они себя не состоянии обезопасить.
                                                                    Роман Садоян
                                                                    08 ноября 2016, 12:47
                                                                    0
                                                                    Ага, не говори, у нас у всех потенциально на проектах есть огроменная дыра, которая сидит и ждет мозговитого спеца, который захочет извлечь какие-нибудь данные или нанести ущерб.
                                                                      Fi1osof
                                                                      08 ноября 2016, 16:45
                                                                      1
                                                                      +5
                                                                      wordpress весь в дырах, это не мешает им быть самой популярной CMSкой. Вы попробуйте сначала воспользоваться этими дырами.
                                                                      Лично я не вижу вообще оснований все бросать и переходить на другую систему. Зачем? Чтобы там кто-то знающий пришел и рассказал, что есть дыры? Пойдете на другую платформу? Есть не мало статей написанных как обезопасить MODX. Переведите админку и коннекторы на другой поддомен, закройте его по ip и двухфакторной авторизацией. На фронте дайте одну только точку входа и фильтруйте входящие запросы. Все. Что вам еще надо? Это на серьезных проектах. Простые сайты-визитки делаете? Кому вы нужны? — поменяйте префикс и все.
                                                                      Это будет касаться практически любого проекта. Я не думаю, что Женя через какое-то время обнаружит дыры и в ларавеле (если еще не нашел).
                                                                        Роман Садоян
                                                                        08 ноября 2016, 16:51
                                                                        0
                                                                          Fi1osof
                                                                          08 ноября 2016, 17:20
                                                                          -1
                                                                          Я не нашел возможности этим воспользоваться. То есть если бы была возможность увидеть данную информацию, то конечно же было бы проще. Загнать в переменную название полученной таблицы то же можно, но нельзя выполнить запрос типа select * from @table;
                                                                      Роман Садоян
                                                                      08 ноября 2016, 13:20
                                                                      +1
                                                                      Может отправить на security@modx.com полный список всех клиентов и их данные и сказать «Ай, ай, ай ребята», прикрепить ссылку на эту новость, пускай учат русский и читают комменты, м?
                                                                      Сказать, что выложим в публичный доступ все email + имена. Это как-никак конфиденциальная информация и мало кто этому обрадуется. Получится своеобразный пинок под зад, надеюсь они выйдут на контакт и приложат усилия к фиксу.
                                                                        Евгений Борисов
                                                                        08 ноября 2016, 13:29
                                                                        0
                                                                        Мне это не интересно.
                                                                          Dmitry
                                                                          08 ноября 2016, 13:33
                                                                          +2
                                                                          А еще можно сделать рассылку всем клиентам их клауда, что все их сайты и данные уязвимы, и подкрепить их данными, и что пора переезжать. Думаю, когда клиенты начнут разбегаться, они зачешутся. Раз простыми словами разрабы принебрегают, то нужно уже действовать. Я бы так и сделал, т.к. У меня много сайтов на этой системе, и у моих клиентов. Если их взломают, то геморрой прилетит на мою голову. Но знаий у меня недостаточно. А Евгению Борисову вряд ли интересно этим заниматься.
                                                                            Евгений Борисов
                                                                            08 ноября 2016, 14:04
                                                                            0
                                                                            А Евгению Борисову вряд ли интересно этим заниматься.
                                                                            Аудит Evo проектов провожу. А Revo — нет. Дело в том, что если находится дырка в компоненте, то исправить я ее не могу, т.к. нужно либо связываться с разработчиком, чтобы он выпустил патч (а этот патч лишает меня последующей работы). Либо форкать компонент и собирать свою версию (а это лишает владельца сайта возможности обновляться и получать новый функционал).

                                                                            Поэтому в Revo я проверяю только самопис. А его в большинстве случаев ооочень мало. Поэтому чтобы из-за копеек не брать на себя ответственность я стараюсь обходить аудит revo стороной. Боле того, есть псевдозаказчики, которые хотят получить в отчете по аудиту все. Начиная от способов устранения, до способов взлома. В конечном счете начинают сами своим клиентам предлагать доп.услугу — аудит безопасности сайтов modx revo.

                                                                            Поэтому мониторю и исправляю уязвимости только на тех проектах, которые находятся у меня в полной поддержке. Т.е. не разово платят за аудит, а ежемесячно, чтобы я мониторил состояние. Фиксил баги и оперативно удалял вирусы если вдруг они залезли, например, через ФТП. А эту услугу заказывают уже конечные клиенты, а не посредники. И то, только те, которые понимают что заказывают.
                                                                            В общем если есть вопросы — обращайтесь через почту на modx@agel-nash.ru
                                                                          Fi1osof
                                                                          08 ноября 2016, 16:35
                                                                          0
                                                                          Сейчас вот modxcloud раздает информацию о первых 9 пользователях удовлетворящих запросу. Всего 21168 пользователь.
                                                                          Жесть…
                                                                      Николай
                                                                      08 ноября 2016, 22:49
                                                                      +1
                                                                      А киньте, пожалуйста, ссылочку на правильную настройку бекапов. Желательно с заброской на облако куда-нибудь.
                                                                      Понял, что если нельзя проблему решить, нужно ее предвосхищать.
                                                                          Николай
                                                                          09 ноября 2016, 09:26
                                                                          0
                                                                          Огромное вам спасибо!
                                                                          Николай
                                                                          09 ноября 2016, 09:41
                                                                          +2
                                                                          Еще сам себе отвечу, но мне кажется, что один из важных аспектов — это вообще скрытие cms сайта.

                                                                          Постараюсь объяснить.
                                                                          В меру моего понимания есть два направления взлома — целенаправленно (из неприязни, злой конкуренции) и массово (обычный робот обходит сайты и ищет заранее известные дыры).
                                                                          От первого направления защититься сложнее всего и тут нужно обращаться к спецам типа Евгения. А второй, как мне кажется, должен чаще встречаться, но защититься от него проще.
                                                                          И основная защита от массовых взломов — это скрыть характерные признаки CMS, чтобы различными сервисами и простыми методами невозможно было определить, что у вас Modx.

                                                                          Вот что я нашел для себя работающим:
                                                                          1) Перенести админку из manager в другую папку. Делается легко, для меня только оказалась проблема с обновлением, т.к. каждый раз приходится переименовывать соответствующую папку в пакете обновления modx, но что делать…
                                                                          2) Ни в коем случае не указывать путь к админке в robots.txt. Ну т.е. запись Disallow: /newmanager/ — это очень удачная подсказка, где теперь ваша новая админка. Пробежав по всем путям Disallow из этого файла можно выудить где ввод пароля и все.
                                                                          Не переживайте, робот поисковых систем даже если и найдет ваш новый путь не будет выкладывать его в поиск т.к. там нечего выкладывать.

                                                                          Я не гуру и могу ошибаться, поэтому давайте вместе поищем какие-то правила где и что закрывать.
                                                                            Илья Уткин
                                                                            09 ноября 2016, 10:01
                                                                            +4
                                                                            Чтобы не переименовывать админку каждый раз после обновления, скачивайте advanced версию и указывайте «Расширенное обновление»
                                                                              Роман Садоян
                                                                              09 ноября 2016, 10:02
                                                                              +4
                                                                              config.inc.php нужно скрывать, в новых версиях отключать заголовок X Powered By.
                                                                              Но, это все не спасет, если бот будет проверять наличие какого-нибудь дополнения.
                                                                              pdoTools почти на каждом сайте же, а 200 ответ от сервера по данному URL modx.pro/assets/components/pdotools/js/pdopage.js на 99,9% идентифицирует о том, что это MODX.
                                                                              Можно переименовывать папку /assets/ от ботов может быть спасет, но не более.

                                                                              А так дыры есть везде, одно дело если они в компонентах, другое дело, когда в системе.
                                                                            Антон
                                                                            09 ноября 2016, 06:30
                                                                            +5
                                                                            Эпилог то какой?

                                                                            Василий написал, что «префикс таблиц теперь приравнивается к паролю супер-админа»,
                                                                            а Евгений после забаненного Зенита написал, что префикс посимвольно брутится за несколько секунд.

                                                                            В итоге получается, что пароль супер-админа подбирается за несколько секунд.

                                                                            Разработчики Модха ничего не делают,
                                                                            Василий хочет, но не может,
                                                                            Евгений может, но не хочет.

                                                                            Что делать, господа?

                                                                            Ждать пока Василий и Евгений совместно форкают Модх и делают другую ветку — Модх ЕВа?
                                                                              Алексей
                                                                              09 ноября 2016, 09:50
                                                                              0
                                                                              вроде как сейчас безопаснее использовать laravel на сколько я понял. Хотя ведь всяко бывает, возможно в обозримом будущем можно будет вновь говорить о безопасности MODX
                                                                                Илья Уткин
                                                                                09 ноября 2016, 10:05
                                                                                +5
                                                                                На самом деле Laravel — не панацея. Во время разработки вы сами можете открыть дыру — хоть на Laravel, хоть на MODX, хоть на самописной системе
                                                                                  Роман Садоян
                                                                                  09 ноября 2016, 10:28
                                                                                  0
                                                                                  Да, но там закрывают дыры, а у нас по словам Евгения — просто меняют вектор атаки.
                                                                                    Алексей
                                                                                    09 ноября 2016, 12:28
                                                                                    0
                                                                                    согласен. Тогда немного изменим направление вектора в сторону серверной обвязки. К примеру
                                                                                    suhosin, naxsi, ModSecurity. Как считаешь, с помощью этих пакетов можно хоть как-то обезопасить MODX сайт на сервере от внешних атак?
                                                                                  Николай
                                                                                  09 ноября 2016, 10:04
                                                                                  +2
                                                                                  Евгений и Николай знают как взломать, но пока никому не рассказали.
                                                                                  Хотя тот кто разбирается уже мог увидеть эту ветку и дальше вопрос насколько легко написать программку для массового взлома.
                                                                                  Если легко, то сразу после взлома выйдут и заплатки, все же разработчики MODx, даже если считать и ленивыми, очень талантливые программисты и выход найдут. Если сложно, то задабривайте врагов, чтобы они не пришли ломать лично ваш сайт))
                                                                                    Пётр Молчанов
                                                                                    09 ноября 2016, 11:14
                                                                                    +1
                                                                                    )))
                                                                                    кто бы ты ни был, мой враг, пожалуйста, не взламывай мой сайт. так подойдет?
                                                                                      Николай
                                                                                      09 ноября 2016, 12:13
                                                                                      0
                                                                                      не, это вы для массового взлома написали
                                                                                      а для персонального задабривать надо Евгения и Николая, чтобы они к вам не пришли))
                                                                                        Пётр Молчанов
                                                                                        09 ноября 2016, 12:31
                                                                                        0
                                                                                        получается Евгений и Николай — враги? о_0
                                                                                          Fi1osof
                                                                                          09 ноября 2016, 13:19
                                                                                          0
                                                                                          получается Евгений и Николай — враги? о_0
                                                                                          Ну, вообще мне тут много кто в карму нагадил)))
                                                                                          Но для меня это не повод.
                                                                                            Пётр Молчанов
                                                                                            09 ноября 2016, 14:22
                                                                                            +3
                                                                                            странно, я наоборот голосую за то, чтобы вся глубина проблем выливалась наружу на обозрение общественности. это двигатель прогресса))) заставляет двигаться ответственных лиц
                                                                                            Николай
                                                                                            09 ноября 2016, 13:23
                                                                                            0
                                                                                            кто знает, может это вы из под зенита писали? ))

                                                                                            а так, лучше как минимум их не злить))
                                                                                      Raimei
                                                                                      09 ноября 2016, 11:28
                                                                                      0
                                                                                      Ладно если бы ждать надо было подобного: — «Через пару дней будут фиксы».

                                                                                      Тут у многих целый парк MODX-сайтов. Часть народу, таких как я, мало что понимают в движках. И от осознавания беспомощности руки падают. Ты знаешь о дырах, но сделать ничего не можешь

                                                                                      На одном из сайтов поставил Advanced + советы от Философа, но я даже не знаю…
                                                                                        Fi1osof
                                                                                        09 ноября 2016, 12:13
                                                                                        +2
                                                                                        Мне клиент передал вордпресс-сайт на поддержку, просто вместе с остальными сайтами. Через пару недель весь сайт как вшивая собака, благо в «клетке» был. Но вордпресс по прежнему №1 по популярности в мире.
                                                                                          Роман Садоян
                                                                                          09 ноября 2016, 12:33
                                                                                          +3
                                                                                          У вордпресса есть проблема с плагинами, такая же проблема есть и в MODX.
                                                                                          Просто рынок модикса ничтожно мал по сравнению с гигантом WP. По этому под MODX еще не пишут ботов всяких итд итп, которые бы проверяли сайт на дыры и грузили бы шеллы, а вот по WP это все есть и прекрасно работает.
                                                                                            Fi1osof
                                                                                            09 ноября 2016, 12:47
                                                                                            +7
                                                                                            По этому под MODX еще не пишут ботов всяких и тд и тп
                                                                                            Так и есть. Задумываюсь написать… Точнее написать сервис для автоматической проверки MODX-сайтов на уязвимости…
                                                                                            Как и говорилось выше в комментариях ребятами, скрыть, что это MODX — уже замечательно. Вот займемся написанием проверок.
                                                                                              Илья Уткин
                                                                                              09 ноября 2016, 13:34
                                                                                              +7
                                                                                              А можно еще и добавить пару признаков WordPress'а. Пусть пытаются взломать несуществующий движок…
                                                                                                Владимир
                                                                                                09 ноября 2016, 13:37
                                                                                                0
                                                                                                Да, да, я так уже)))
                                                                                                Посмотрел, а wp-admin — сверх частый запрос от ботов, ну так нате, вот вам админка от вордпреса, велкам)) Плагинов еще напихать? Статичные файлы, лишь бы пути были как у каких-то популярных WP плагинов? ))
                                                                                                Маскируемся!
                                                                                                  Raimei
                                                                                                  09 ноября 2016, 13:54
                                                                                                  +1
                                                                                                  На сайт 1 свой сайт где HTML-странички добавлял админку от WordPress'а. Чисто издевки ради
                                                                                                    Антон
                                                                                                    09 ноября 2016, 18:39
                                                                                                    +1
                                                                                                    Тогда ждем от вас компонент по смене префиксов и превращению (маскировке) Модха в Вордпресс.
                                                                                                      Антон Соловьёв
                                                                                                      09 ноября 2016, 21:28
                                                                                                      0
                                                                                                      По-моему видел я даже пакет специальный, который админки других сайтов имитирует… Боюсь конечно напутать и наврать. Но у меня как бы лычка ShopModxBox в футере, так что было немного нелепо данный пакет устанавливать. Или там попытки зайти на страницы админок фиксируются… Не помню точно… Ну, у меня опять же плагин wappalyzer в браузере, сам себя ловить буду. Да и пути к js глобально менять ленился.
                                                                                                        Евгений Борисов
                                                                                                        09 ноября 2016, 21:55
                                                                                                        +1
                                                                                                        Я вас может быть немного разочарую. Но
                                                                                                        — при массовых взломах насколько мне известно запросы идут сразу на уязвимый сценарий. — Попытки найти админку бывают из любопытства.
                                                                                                        — Определение CMS по сигнатурам это только если сайт действительно интересен. Коли это так, то спрятать все сигнатуры довольно сложно. Особенно если сайт чекается руками, а не через 2ip

                                                                                                        Так что небольшой профит в получите. Возможно даже узнаете об уязвимостях в других CMS таким способом. Но полагаться на подобную защиту нет смысла.
                                                                                                          Дмитрий Суворов
                                                                                                          09 ноября 2016, 23:36
                                                                                                          0
                                                                                                          ну выходит, что нет полностью безопасных систем? Может быть только если чистые, не обремененные разнообразными плагинами, самописами и т. д. Получается, что для талантливых специалистов в области взлома вообще нету закрытых дверей, не считая закрытые системы, открытые только пользователям с определенным IP?
                                                                                                            Василий Столейков
                                                                                                            10 ноября 2016, 08:38
                                                                                                            1
                                                                                                            +3
                                                                                                            НЕТ АБСОЛЮТНОЙ ЗАЩИТЫ, ЕСТЬ ПЛОХИЕ ХАКЕРЫ!
                                                                                                            Эта истина всегда меня успокаивала. Поэтому менять самую лучшую систему (хоть и несовершенную как и всё остальное) я не собираюсь.
                                                                                                              Роман Садоян
                                                                                                              10 ноября 2016, 08:41
                                                                                                              0
                                                                                                              ну выходит, что нет полностью безопасных систем?
                                                                                                              Да.
                                                                                                              Может быть только если чистые
                                                                                                              И чистые бывают дырявыми.
                                                                                                              Получается, что для талантливых специалистов в области взлома вообще нету закрытых дверей
                                                                                                              Да.
                                                                                                              не считая закрытые системы, открытые только пользователям с определенным IP?
                                                                                                              Ну там тоже можно IP подменить или проверку обойти…

                                                                                                              Все от случая к случаю.
                                                                                                        r5uY40
                                                                                                        09 ноября 2016, 14:37
                                                                                                        +3
                                                                                                        Классная идея про сервис! Ещё, мне кажется, будет полезен стендэлон компонент поиска и устранения уязвимостей и защиты от атак по аналогии с RSFirewall! и Admin Tools из мира Джумла. RSFirewall пользуюсь постоянно на своем старинном сайте — спасает.
                                                                                                Вася
                                                                                                09 ноября 2016, 18:32
                                                                                                +2
                                                                                                Ну а обновление закрывающее брешь MODXеры выпускать собираются? Ни чего не слышно?
                                                                                                  Fi1osof
                                                                                                  10 ноября 2016, 07:55
                                                                                                  0
                                                                                                  Пока молчат.
                                                                                                  Василий Столейков
                                                                                                  11 ноября 2016, 09:47
                                                                                                  1
                                                                                                  0
                                                                                                  Не в тему немножко:

                                                                                                  Хорошо бы чтобы при нажатии на этот правый значок обновления комментариев, происходил скроллинг до первого нового комментария, а не просто показ количества новых комментариев…
                                                                                                  А то захожу в эту тему уже который раз, тут уже 239 комментов и приходится снова скроллить всю эту простыню в поиске малозаметных на моём экране желтоватых комментариев…
                                                                                                  Я вначале почему-то думал, что эта кнопочка обновления так и работает…

                                                                                                  Либо снизу поставить ещё один значок стрелочки, который бы скроллил по новым комментариям если они есть, а то текущий значок сразу и сбрасывает их…

                                                                                                  Но это так, мысли вслух, просто накипело — уже наверное раз 50 заглядывал в эту тему и возможно это не последний раз… ))
                                                                                                    Василий Наумкин
                                                                                                    11 ноября 2016, 09:57
                                                                                                    +2
                                                                                                    Либо нажимать на количество комментариев под кнопкой обновления.
                                                                                                      Василий Столейков
                                                                                                      11 ноября 2016, 10:02
                                                                                                      1
                                                                                                      +4
                                                                                                      О, не знал, спасибо, иду проверять…
                                                                                                      А то в соседней распухшей теме про стоимость компонентов у меня такая же история была.
                                                                                                      Спасибо за неочевидный для меня лайфхак!

                                                                                                      P.S. Проверил — это действительно круто, то что напрашивалось я даже не догадался что уже реализовано, facepalm.jpg, извини за зря поднятые волны, но может есть и другие как я ))))
                                                                                                  Дмитрий Меркурьев
                                                                                                  11 ноября 2016, 16:23
                                                                                                  +2
                                                                                                  Может быть немного наивное предположение, но все же озвучу.
                                                                                                  Как я понял взлом осуществляется через коннекторы, А если через htaccess отправлять запросы переданные на любой connector.php на свой скрипт, в нем фильтровать весь возможный sql и вызывать уже оригинальный connector.php с очищенными параметрами. Или такой подход не подойдет?
                                                                                                    Paul B.
                                                                                                    11 ноября 2016, 20:11
                                                                                                    0
                                                                                                    А эта пробелма относится к версии modx 2.5.1? Там в описании изменений тоже какие-то дырки от инъекций закрыли. Только я не прочел какие.
                                                                                                      Николай
                                                                                                      11 ноября 2016, 20:33
                                                                                                      0
                                                                                                      Эта версия как бы давно выпущена, все ею давно уже пользуются
                                                                                                        Paul B.
                                                                                                        12 ноября 2016, 23:06
                                                                                                        0
                                                                                                        Я не обновлял с 2.5.0 Поэтому решил уточнить. Спасибо
                                                                                                      Дмитрий Суворов
                                                                                                      12 ноября 2016, 18:24
                                                                                                      +1
                                                                                                      modx.com/get-modx/security

                                                                                                      MODX Revolution was architected from day one with security in mind. All database operations using Revo’s public APIs use xPDO. This is an intermediate database layer, based on the PHP PDO project (recently adopted by Drupal), that ensures code is properly sanitized before being saved to the database. This aims to prevent SQL injection attacks common in many web platforms today.

                                                                                                      Действительно очень прискорбно, что у разработчиков MODX есть время на обновление собственного сайта, переработку его практически с нуля, сбору статистики о беспрецедентной безопасности, но нет времени бросить всё (на сколько известно, так как новостей что идет работа какая-то в этом направлении нет никаких) и как ужаленные в жопу закрывать все дыры. А они вообще в курсе всей этой волны, или они знают только о её начале?
                                                                                                        Владимир
                                                                                                        12 ноября 2016, 18:28
                                                                                                        +1
                                                                                                        а то они там должны написать? все пропало?)))
                                                                                                          Дмитрий Суворов
                                                                                                          12 ноября 2016, 18:39
                                                                                                          0
                                                                                                          не знаю) Просто MODX он же себя позиционирует как безопасная система — а это состояние нужно регулярно совершенствовать. А следовательно — я не могу понять их реакцию на последние новости. Тем более нынешняя проблема вероятнее всего существует столько, сколько существует MODX.
                                                                                                            Fi1osof
                                                                                                            12 ноября 2016, 18:41
                                                                                                            +4
                                                                                                            Думаю, просто трудности перевода. Они не до конца понимают проблемы. Написал сейчас дополнительно Райну в личку, сейчас должны зашевелиться.
                                                                                                              Владимир
                                                                                                              12 ноября 2016, 19:11
                                                                                                              0
                                                                                                              Англоязычное сообщество с задержкой получает инфу о проблеме и паника так не накрыла видимо, как русскоязычное. Постепенно докатится в любом случае.
                                                                                                                Fi1osof
                                                                                                                12 ноября 2016, 19:14
                                                                                                                +1
                                                                                                                Ну, я в слэке вообще ничего из этой темы не увидел, а там и Райн, и Джейсон, и Марк, все есть. Просто сложности в коммуникациях.
                                                                                                                  Владимир
                                                                                                                  12 ноября 2016, 19:29
                                                                                                                  +1
                                                                                                                  Будут шустрее когда панику простые пользователи поднимут, англоязычные.
                                                                                                                  а пока так:
                                                                                                                    Mark Hamstra
                                                                                                                    13 ноября 2016, 23:13
                                                                                                                    +3
                                                                                                                    Definitely a problem of communication! I managed to confirm one issue you emailed about last week, but did not realise there were other issues that made everything worse. Sorry it took so long to get our full attention.
                                                                                                                      Fi1osof
                                                                                                                      14 ноября 2016, 00:43
                                                                                                                      0
                                                                                                                      I'm told and showed to Ryan. And in a letter he cited an example.
                                                                                                                        Mark Hamstra
                                                                                                                        14 ноября 2016, 00:53
                                                                                                                        +9
                                                                                                                        With all respect to Ryan, he's not a developer and not the person to talk to for security issues. That's why there is security@modx.com, as that has the integrators and other MODX team members.

                                                                                                                        We took too long to respond to your initial email, and I'm sorry for that. Maybe we need to set up new policies on who handles reports in what way to make sure that doesn't happen, but talking to Ryan is not the same as alerting core developers about critical issues.
                                                                                                                          Fi1osof
                                                                                                                          14 ноября 2016, 01:49
                                                                                                                          +2
                                                                                                                          Maybe))
                                                                                                            Вася
                                                                                                            12 ноября 2016, 19:06
                                                                                                            +1
                                                                                                            Надо, чтоб человек хорошо знающий английский описал им, что случилась и о чем разговор на этой странице.
                                                                                                              Mark Hamstra
                                                                                                              13 ноября 2016, 23:12
                                                                                                              +9
                                                                                                              I've managed to read the entire thread using Google Translate, but I have not found details on the actual vulnerabilities and proof of concepts. There's a lot of discussion and some pointers to code, but that's not enough for us to reproduce the problems and solve them.

                                                                                                              It's good that steps to hack a site are not posted publicly, but we do need that information via security@modx.com so we can fix it as soon as possible. If it's in Russian we can use google translate, as long as we get the information we need to solve it.
                                                                                                              Антон
                                                                                                              13 ноября 2016, 07:35
                                                                                                              0
                                                                                                              Снаряжаем глубокоуважаемого Зенита в заграничную экспедицию по ломанию modx.com c целью обращения внимания разработчиков? Раз по другому их не расшевелить…

                                                                                                              Если не получится modx.com, то хотя бы повесить ссылку на эту ветку на этих образцовых сайтах:
                                                                                                              www.modmore.com/simplecart/

                                                                                                              Или эти дыры только у нас? У них все фильтруется?
                                                                                                                Mark Hamstra
                                                                                                                13 ноября 2016, 23:09
                                                                                                                +6
                                                                                                                If you have information about how these vulnerabilities work, please email that to security@modx.com. We're working on fixing vulnerabilities, but don't have all the information yet.
                                                                                                              Сергей Шлоков
                                                                                                              13 ноября 2016, 19:41
                                                                                                              +3
                                                                                                              Тема явно произвела впечатление.
                                                                                                                Mark Hamstra
                                                                                                                13 ноября 2016, 23:07
                                                                                                                +11
                                                                                                                I've just finished reading through the comments and wanted to add one thing: please email security@modx.com with details of vulnerabilities!

                                                                                                                Earlier today Jason got information that made it clear there are serious vulnerabilities and he has been working on fixing them since, and as member of the security team he asked me to help as well. Thanks to help from people like Nikolay and Bezumkin we've found and fixed some issues, but we still don't have all the information about how some of the things discussed in the comments work. So please, if you have any details or proof of concepts of attacks, please email those to security@modx.com so we can make MODX safer and release an update soon.
                                                                                                                  Сергей Шлоков
                                                                                                                  14 ноября 2016, 07:15
                                                                                                                  0
                                                                                                                  It's great!
                                                                                                                  I know the man who knows some vulnerabilities of MODX. But he got a not very good experience in communicating with the MODX team. And the MODX community suffer from this misunderstanding between you and him.
                                                                                                                    Mark Hamstra
                                                                                                                    14 ноября 2016, 15:13
                                                                                                                    +2
                                                                                                                    Hopefully he will give the security team another chance! It is hard to communicate sometimes, but we all want to make MODX better. We're not perfect.
                                                                                                                    Николай
                                                                                                                    14 ноября 2016, 11:47
                                                                                                                    0
                                                                                                                    Dear Mark, could you please consider the possibility of voting for the pull requests or issues?
                                                                                                                    I think this is the better alternative to e-mails.
                                                                                                                    In case there are lots of votes for the particular issue on github it is a clear signal for the developers that the issue requieres urgent reaction.

                                                                                                                    UPD Vasiliy just noticed that voting is available on GitHub. So lets use it))
                                                                                                                      Mark Hamstra
                                                                                                                      14 ноября 2016, 15:09
                                                                                                                      +4
                                                                                                                      The security@modx.com email should be used for security issues. That way we can discuss it and prepare a patch privately, make sure it fixes the problem, and also prepare communication around it when a release is made available. I'm all for transparency and using github to vote for regular features, but security issues should not be public right away. ;)
                                                                                                                      Константин Ильин
                                                                                                                      14 ноября 2016, 11:47
                                                                                                                      0
                                                                                                                      Hello Mark! Lest you orde all an interpreter can let Vasili Naumkin(bezumkin) and Nicholas Lanets will be a bridge between you and the Russian-speaking community for better communication? That is to say officials modx in the Russian-speaking community and be part of your team.
                                                                                                                        Mark Hamstra
                                                                                                                        14 ноября 2016, 15:07
                                                                                                                        +6
                                                                                                                        Just for the record, I don't work for the company MODX. I used to work for them, but have been independent for 3 years now.

                                                                                                                        I am part of the security team and core integrators on the MODX project though. So if anyone from the Russian-speaking community would like to discuss project related things with me, I am more than happy to work with them.
                                                                                                                        Евгений Борисов
                                                                                                                        14 ноября 2016, 13:24
                                                                                                                        +7
                                                                                                                        So please, if you have any details or proof of concepts of attacks, please email those to security@modx.com so we can make MODX safer and release an update soon.
                                                                                                                        Вам уже даже пример показали. А вы все понять не можете…

                                                                                                                        Thanks to help from people like Nikolay and Bezumkin we've found and fixed some issues
                                                                                                                        Очень жаль, что Николаю выражается благодарность за то, что он развел троллинг со сменой префиксов. Если бы все согласились сего исправлением — дырка бы так и осталась в ядре. Так за что спасибо то?)
                                                                                                                          Алексей
                                                                                                                          14 ноября 2016, 14:14
                                                                                                                          +3
                                                                                                                          Пусть будет спасибо за привлечение внимания к дыре. Если так будет корректнее
                                                                                                                            Роман Садоян
                                                                                                                            14 ноября 2016, 14:36
                                                                                                                            +2
                                                                                                                            Марку просто тяжело с русским, по этому он увидел 2 поста на эту тему от Василия и Николая и вот их благодарит.

                                                                                                                            Но мы то знаем, кто наш Герой)
                                                                                                                            Спасибо Евгений.

                                                                                                                            P.S.: Про Зенита тоже забыли…
                                                                                                                            P.P.S: Может каждому в репу дать по 100+?
                                                                                                                              Евгений Борисов
                                                                                                                              14 ноября 2016, 17:26
                                                                                                                              +1
                                                                                                                              P.P.S: Может каждому в репу дать по 100+?
                                                                                                                              На хабре за подобные предложения бан дают)))
                                                                                                                              Mark Hamstra
                                                                                                                              14 ноября 2016, 15:02
                                                                                                                              +5
                                                                                                                              I thanked them for responsibly sending us information about the vulnerabilities discussed here. Nikolai sent an email to security@modx.com which led to the discovery of SQL injections. Changing the table prefix is not a sufficient fix, I agree. Bezumkin also reached out to Jason privately to investigate another vulnerability.
                                                                                                                                Mark Hamstra
                                                                                                                                14 ноября 2016, 15:16
                                                                                                                                +12
                                                                                                                                Я понимаю, что вы знаете о различных уязвимостей. Мы исправили несколько прямо сейчас. Не могли бы вы, пожалуйста, напишите security@modx.com с вашей информацией, чтобы мы могли быть уверены, что MODX безопасен снова? Спасибо!

                                                                                                                                — I understand you know about the different vulnerabilities. We've fixed a few now. Could you please email security@modx.com with your information so we can be sure MODX is secure again? Thank you!
                                                                                                                                  Евгений Борисов
                                                                                                                                  14 ноября 2016, 17:21
                                                                                                                                  +10
                                                                                                                                  Как минимум, у меня в планах следующее:
                                                                                                                                  — Аудит modhost.pro/
                                                                                                                                  — Проверка компонентов (хотя бы из modstore.pro)

                                                                                                                                  А потом уже может быть я напишу на security@modx.com
                                                                                                                                    Vital
                                                                                                                                    11 марта 2018, 05:19
                                                                                                                                    0
                                                                                                                                    Hi Mark. They broke me hard. Help restore the site? topthaico.com/
                                                                                                                                    Сергей Шлоков
                                                                                                                                    14 ноября 2016, 15:56
                                                                                                                                    +5
                                                                                                                                    Дядя Женя, простишь их? :)
                                                                                                                                      Евгений Борисов
                                                                                                                                      14 ноября 2016, 17:39
                                                                                                                                      +12
                                                                                                                                      Давай для начала с ru сегментом разберемся)

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

                                                                                                                                      Если у зарубежного сегмента будет желание подключить проекты modmore.com, modxcloud.com и т.п. к нашему движению аудитов — милости просим на security@agel-nash.ru
                                                                                                                                Алексей Андреев
                                                                                                                                14 ноября 2016, 16:18
                                                                                                                                0
                                                                                                                                Нас вот ломанули вчера и сегодня ночью, все хосты (около 50) на серваке в вирусне. Стоял везде последний MODx Revo и Evo, т.к. недавно обновляли для перехода на PHP 7.

                                                                                                                                Вот такими вкусностями наградили:


                                                                                                                                Будем теперь чистить и ставить заплатки… Поскорее бы официальная обнова.
                                                                                                                                  Павел Романов
                                                                                                                                  14 ноября 2016, 16:23
                                                                                                                                  +1
                                                                                                                                  Evo лечите — там дырка. У меня порядка 20 клиентов на разных Evo эту гадость словили за последний год.
                                                                                                                                  Обновляйтесь хотя бы до 1.1.0, прогоняйте сайты через антивирус, чистите, что найдет + потом в ручном режиме по датам изменения.
                                                                                                                                    Вася
                                                                                                                                    14 ноября 2016, 16:49
                                                                                                                                    0
                                                                                                                                    По датам изменения бесполезно он их выставляет старые
                                                                                                                                    Василий Наумкин
                                                                                                                                    14 ноября 2016, 16:40
                                                                                                                                    0
                                                                                                                                    Если все сайты работают от одного юзера — то достаточно было ломануть всего один.
                                                                                                                                      Вася
                                                                                                                                      14 ноября 2016, 16:47
                                                                                                                                      0
                                                                                                                                      Это кстати ломает бот, который заточен под вордпрес, и modx evo он ломает на ура, а через него заражает все сайты. Обновляйте evo и все плагины evo gallery например точно нужно последней версии
                                                                                                                                        Алексей Андреев
                                                                                                                                        14 ноября 2016, 16:59
                                                                                                                                        +1
                                                                                                                                        То бишь это не через сабжевую дыру в Revo? Такое совпадение просто, у нас больше года не было вирусни, хотя Ево висел 1.0.14 и 1.0.15 около 15 сайтов. На прошлой неделе обновили до 1.1, и вот прилетело счастье :)

                                                                                                                                        Василий Наумкин, да, у нас всегда сразу все папки заражаются, собираемся делать защиту от этого…

                                                                                                                                        Вася, Evogallery на одном только использую, надо проверить. Модули имеете в виду, не плагины?
                                                                                                                                          Вася
                                                                                                                                          14 ноября 2016, 17:02
                                                                                                                                          +2
                                                                                                                                          Да модуль этот посмотрите. Это не сабжевая дыра, так как ломали так давно. После тотальной чистки сайтов от левых файлов и обновления сайта на evo все прекратилось
                                                                                                                                            Евгений Борисов
                                                                                                                                            14 ноября 2016, 17:24
                                                                                                                                            +5
                                                                                                                                            Один умный человек положил в компонент Evogallery тестовый файл uploadify.php. Этот файл позволяет любому пользователю загружать любую информацию на сервере. В более поздних версиях EvoGallery файл был удален, но т.к. большинство обновляют движки перезаписью файлов — файл так и остался не затронутым. И только сейчас додумались сделать так.

                                                                                                                                            К слову, рядом с uploadify.php должен быть еще один файл, который позволяет получать список файлов в папках на сервере. Так же без всякой авторизации.
                                                                                                                                              Александр Москвин
                                                                                                                                              15 ноября 2016, 03:03
                                                                                                                                              0
                                                                                                                                              Всем благодарность написали)
                                                                                                                                              modx.com/blog/modx-revolution-2.5.2
                                                                                                                                                Антон
                                                                                                                                                Антон
                                                                                                                                                15 ноября 2016, 03:56
                                                                                                                                                0
                                                                                                                                                Не всем, а никому!

                                                                                                                                                Это Зенита заслуга, а Василий с Николаем только префиксы меняли.
                                                                                                                                                  Николай
                                                                                                                                                  15 ноября 2016, 04:19
                                                                                                                                                  +1
                                                                                                                                                  Как в детском саду…
                                                                                                                                          Андрей
                                                                                                                                          14 ноября 2016, 17:09
                                                                                                                                          0
                                                                                                                                          Подключаю обычно клиентов к https://virusdie.ru. Может конечно не панацея, но проблемы с вирусами перестали волновать =)

                                                                                                                                          А ломают с вероятностью 99% действительно через Evo.
                                                                                                                                          Rover
                                                                                                                                          15 ноября 2016, 00:48
                                                                                                                                          +3
                                                                                                                                          Выложили новую версию 2.5.2 на modx.com/download
                                                                                                                                          Список изменений: raw.githubusercontent.com/modxcms/revolution/v2.5.2-pl/core/docs/changelog.txt

                                                                                                                                          Большое спасибо Евгению, Василию, Николаю и другим кто принимал в этом участие.

                                                                                                                                          Евгений, интересно услышать ваше мнение по поводу закрытия дыр. Как по Вашему, всё закрыли?
                                                                                                                                            Mark Hamstra
                                                                                                                                            15 ноября 2016, 00:53
                                                                                                                                            +9
                                                                                                                                            Хорошо пятнистый;), который выпускает исправления все проблемы, мы знаем прочь. Быстрый объявление выходит в ближайшее время, полное объявление с более подробной информации о том, что было исправлено будет выходить завтра или в ближайшие несколько дней.

                                                                                                                                            Как вы, вероятно, может себе представить, что это критическое обновление каждый должен установить как можно скорее. Пожалуйста, дайте нам знать, если github.com/modxcms/revolution/issues есть какие-либо новые ошибки, или security@modx.com новых вопросов безопасности.

                                                                                                                                            /// — ///

                                                                                                                                            Well spotted ;) That releases fixes all issues we're aware off. A quick announcement is going out shortly, a full announcement with more details on what has been fixed will be going out tomorrow or the next few days.

                                                                                                                                            As you can probably imagine, this is a critical update everyone should install as soon as possible. Please let us know at github.com/modxcms/revolution/issues if there are any new bugs, or security@modx.com for new security issues.
                                                                                                                                            Rover
                                                                                                                                            15 ноября 2016, 00:56
                                                                                                                                            +1
                                                                                                                                            Thanks Mark.
                                                                                                                                            It seems that I am the first who has downloaded a new version :)

                                                                                                                                            New xPDO version?.. OK!
                                                                                                                                              Mark Hamstra
                                                                                                                                              15 ноября 2016, 02:11
                                                                                                                                              +3
                                                                                                                                              The download count might be cached, it was on 1 download for a while :P
                                                                                                                                              Vital
                                                                                                                                              11 марта 2018, 03:46
                                                                                                                                              0
                                                                                                                                              Ребята привет!
                                                                                                                                              Работаю на Модекс Рево, да вот повадились ломать и заражать(( topthaico.com/
                                                                                                                                              На это раз совсем критично. Хостеры грят ничего не можем поделать, белое окно в админке все дела.
                                                                                                                                              Если есть возможность помочь, буду рад выслушать советы.
                                                                                                                                              Всем спасибо!
                                                                                                                                              Виталий
                                                                                                                                              09 августа 2018, 20:21
                                                                                                                                              0
                                                                                                                                              У меня сегодня снесли весь сайт! Оставили 1 папку core
                                                                                                                                              Я был в ШОКЕ. Восстановил файлы из бекапа.

                                                                                                                                              Потом смотрел логи:

                                                                                                                                              POST /assets/components/gallery/connector.php?src=http
                                                                                                                                              GET /assets/components/gallery/cache/http.29d7804edf5d30594559cb7c7f0362bc.php
                                                                                                                                              POST /assets/components/gallery/cache/http.29d7804edf5d30594559cb7c7f0362bc.php?login=canshu
                                                                                                                                              GET /assets/components/gallery/cache/md.php
                                                                                                                                              GET /connectors/element/event.php?login=Hcba7f
                                                                                                                                              GET /manager/controllers/onlineusers.php?login=Hcba7f
                                                                                                                                              GET /check.php
                                                                                                                                              GET /moving.php?rdir=postnewl&url=www.datacen2017.top/0809/lt20180806bk-1/4/
                                                                                                                                              GET /postnewl/install.php?install=1
                                                                                                                                              GET /postnewl/index.php?rset=set&hzui=cfm
                                                                                                                                              GET /postnewl/snpdvkwpc-w310934-tuj/

                                                                                                                                              Папки manager и connectors у меня изменены, т.е. они их создали.

                                                                                                                                              обновил Gallery 1.7.1-pl
                                                                                                                                              Закинул в папку /assets/components/gallery/cache/ файл .htaccess

                                                                                                                                              Options -Indexes
                                                                                                                                              <Filesmatch ".(php)$">
                                                                                                                                              order allow,deny
                                                                                                                                              deny from all
                                                                                                                                              </Filesmatch>
                                                                                                                                              
                                                                                                                                              <Files ~ ".(php)$">
                                                                                                                                              Deny from all
                                                                                                                                              </Files>
                                                                                                                                                Alexey
                                                                                                                                                15 августа 2018, 19:30
                                                                                                                                                0
                                                                                                                                                аналогичный лог и в тот же день 09 августа 2018
                                                                                                                                                алгоритм тот же
                                                                                                                                                залили в /connectors/ Dark Shell
                                                                                                                                                залили свои sitemaps
                                                                                                                                                натолкали японского контента
                                                                                                                                                каталоги не удалили, потому обновился вовремя до 2.6.5

                                                                                                                                                core/cache/upgrademodx/versionlist
                                                                                                                                                error_log
                                                                                                                                                pressthiso/moban.html
                                                                                                                                                sitemaps/sitemap10.xml

                                                                                                                                                sitemaps/sitemap1.xml
                                                                                                                                                pressthiso/error_log
                                                                                                                                                pressthiso/install.php
                                                                                                                                                pressthiso/extenupdates.php
                                                                                                                                                pressthiso/index.php
                                                                                                                                                connectors/element/niko.php
                                                                                                                                                assets/components/gallery/cache/error_log
                                                                                                                                                assets/components/gallery/cache/phpThumbCacheStats.txt
                                                                                                                                                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                                                                                                340