Последние темы


Безопасность ModX

  • @Andchir сказал Безопасность ModX:

    @Agel_Nash

    Куда нам до него...

    У меня подозрение, что Николай специально хотел приберечь эту дырку для себя, побыть богом это же так приятно 🙂

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

  • @Gulik сказал Безопасность ModX:

    @Agel_Nash Ясно, значит просто демонстрация. Я вас взломал! Чем докажешь? Вот вам префикс...
    Все же, кончено, смена префикса несколько замедлит процесс взлома. Ну очень на чуть-чуть))

    верно

    После его подбора можно так же идти в таблицу юзеров и подбирать их логин, а затем их пароль в виде хеша... А потом искать этот хеш на cmd5...

    Как хеш MODX Revo довольно трудно сбрутить. И cmd5 не поможет. Только если на заказ через фермы.

    Или все же эта дырка в ModX предусматривает возможность вносить изменения в базу? Запросы UPDATE или INSERT проходят?

    Все зависит от конкретного сайта.

    Давайте условимся на следующем. В MODX Revolution на текущий момент есть несколько дырок. Эксплуатация этих дырок усложняется рядом условий которые должен выполнить разрабочтик компонента.

    [Вырезано админом от любителей ломать сайты]

    P.S. После прочтения удалите мой комментарий. Чтобы на весь мир не светилось.

  • А вот и продолжение дыры с xPDO :https://modx.pro/security/10345-blind-sql-xpdo/

    и вполне логичный ответ разработчика - забота о безопасности - дело рук разработчиков. Т.е. прежде чем запихивать запросы в xPDO их нужно фильтровать

    Ну собственно сами виноваты - сначала долго кричали, что вместо сложных SQL проще писать через xPDO, которое еще и безопасно. Последнее оказалось неверно.

  • Почему же они тогда сами не фильтруют? Ведь по словам Евгения у них на modxcloud дыры эти есть

  • @timm Если правильно понял Евгения и opengeek, то эта дыра есть в компонентах написанных на xPDO в чистом MODx дыр нет.
    А в компонентах дыры потому, что разработчики были уверены, что xPDO фильтрует SQL, оказалось, что нет.

  • @timm Если правильно понял Евгения и opengeek, то эта дыра есть в компонентах написанных на xPDO в чистом MODx дыр нет.

    Есть. Но конкретно этой - нет.

    А в компонентах дыры потому, что разработчики были уверены, что xPDO фильтрует SQL, оказалось, что нет.

    Да.

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

    Хотя пихать в какой-то метод сырые данные, не убедившись в безопасности, это тоже не хорошо.
    В сниппете userOrders, например, сделано так:

    $order_id = !empty( $_REQUEST['ord_id'] ) && is_numeric( $_REQUEST['ord_id'] )
          ? $_REQUEST['ord_id']
          : 0;
    
  • А тем временем популярность MODX за 2 года упала на 25 пунктов.
    Alt text

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

  • @Agel_Nash На то на других дырок нет

  • @Agel_Nash :

    Думающие люди на фоне новости про уязвимости должны понять, что нужно готовиться сваливать на другой двиг.

    Да, начиналось всё вроде не плохо. Для меня лично первым сигналом стало отношение разработчиков к таким базовым компонентам как Quip. Там куча багов, но никто их не собирался исправлять. Можно, конечно, написать гору своих велосипедов, как делали другие разработчики, но тогда возникает вопрос, а нужен ли нам вообще MODX Revo?

    Можно создать тему типа "Куда валить" 🙂 Кто за?

  • @Gulik сказал Безопасность ModX:

    @Agel_Nash На то на других дырок нет

    Если бы только в дырках было дело...

  • @Gulik сказал Безопасность ModX:

    @Agel_Nash На то на других дырок нет

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

  • @Agel_Nash @Andchir Я на многих движках по работал, ни где не встречал такой гибкости в создании сайта как на ModX. Одни TV что стоят.
    Гибче ModX только на PHP.

  • @Andchir сказал Безопасность ModX:

    Можно создать тему типа "Куда валить" 🙂 Кто за?

    Если бизнесу, то остаются коммерческие решения типа Битрикса.

    Если для себя, то можно на той же Октобер ЦМС пилить сайты.

    Тут больше вопрос - что делать с существующими сайтами?

  • @timm Битрикс гавно, как то связался с ним, сделал один сайт и долго матерился. Какой то ЧПУ у меня столько времени отнял

  • @Agel_Nash сказал

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

    А ещё это повод для сообщества MODX забыть былые обиды и объединить свои усилия на создание чего-то нового и качественного.

    @Gulik сказал:

    @Agel_Nash @Andchir Я на многих движках по работал, ни где не встречал такой гибкости в создании сайта как на ModX. Одни TV что стоят.
    Гибче ModX только на PHP.

    Попробуйте InstantCMS. Там тоже не плохо продумано добавление полей, но не через TV, а через реальное редактирование таблиц в БД, что дает хорошую производительность.

  • @Andchir сказал Безопасность ModX:

    @Agel_Nash

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

    А ещё ещё это повод для сообщества MODX забыть былые обиды и объединить свои усилия на создание чего-то нового и качественного.

    Ну у меня с тобой терок не было))
    Подключайся к Laravel? У меня есть проектик, нужна помощь.

  • @Gulik говно/не говно - это с точки зрения разработчика и копания в движке. С точки зрения владельца студии — Битрикс очень хороший инструмент зарабатывания денег

  • @Agel_Nash сказал:

    Ну у меня с тобой терок не было))
    Подключайся к Laravel? У меня есть проектик, нужна помощь.

    Laravel я пока не смотрел, есть не плохой опыт с Symfony. Я вот думал писать с нуля Шопкипер, но уже не завязываться жестко на CMS, а сделать более универсальным. Что за проектик?

  • @Andchir сказал Безопасность ModX:

    @Agel_Nash сказал:

    Ну у меня с тобой терок не было))
    Подключайся к Laravel? У меня есть проектик, нужна помощь.

    Laravel я пока не смотрел, есть не плохой опыт с Symfony. Я вот думал писать с нуля Шопкипер, но уже не завязываться жестко на CMS, а сделать более универсальным. Что за проектик?

    маякни на почту laravel@agel-nash.ru распишу подробнее

 

Последние комментарии

  • Z

    Спасибо, действительно проще создать отдельно.

    Читать далее
  • Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]].

    Можно не использовать [[+addit_data]], а выводить параметры по-отдельности.

    Цитата из документации:

    [[+shk_любой доп.параметр]] - любой доп. параметр, выбранный при добавлении товара в корзину (из [[+addit_data]]), например [[+shk_param1]].
    Если параметры сделаны в виде чекбоксов, то чтобы вывести отдельно каждый из них, нужно добавлять индекс (номер от нуля) для параметров следующих за первым.
    Пример: [[+shk_param1]], [[+shk_param1_1]], [[+shk_param1_2]] ...
    [[+shk_любой доп.параметр_price]] - цена доп.параметра. Пример: [[+shk_param1_price]].

    Читать далее
  • Z

    Доброго времени суток. Не могу разобраться, как передать данные migx-поля в корзину в плейсхолдер без "дублирования" в [[+addit_data]]
    Суть в чем: У меня есть 2 цены у товара (со скидкой и без скидки) Форма для отправки в корзину:

    <form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]].html" method="post"> <input type="hidden" name="shk-id" value="[[*id]]" /> <input type="hidden" name="shk-name" value="[[*pagetitle]]" /> <input type="hidden" name="price_old__[[*id]]__add" value="[[*price_old]]" /> <input type="hidden" name="shk-count" value="1" /> <div class="product-price"> Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span> Старая цена - <span class="shk-price-old">[[+price_old]]</span> [[!+shk_currency]] </div> <div class="padding-lr-30"> <h5>Дополнительные услуги</h5> [[*param1]] </div> <div class="product-price"> <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button> </div> </form>

    Данные со "старой ценой" в корзину попадают нормально и выводится в нужном месте в плейсхолдере:
    [[+shk_price_old]]
    Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]]. Как сделать чтобы старая цена не выводилась в [[+addit_data]]? Или может я как то не правильно передаю MIGX-параметр в корзину ? Заранее спасибо.

    Читать далее
  • Фотографии, как я понял, это второй вопрос. Я по нему пока ничего не отвечал и не просил информации. Это не отменяет того, что в вашем конфиге есть ошибка, о которой я писал выше. Не нужно задавать разные вопросы в одной теме, чтобы не было путаницы.
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

    Читать далее