14 ноября 2016, 20:42 Ошибка 500 — это всегда фатальная ошибка сервера. Смотри его лог (не админки), чтобы понять, на что ругается. Вопросы / Не могу обновить MODX и MIniShop2 23 0
14 ноября 2016, 16:40 Если все сайты работают от одного юзера — то достаточно было ломануть всего один. Безопасность / Критическая уязвимость в MODX Revolution 340 0
14 ноября 2016, 11:36 На GitHub давно сделаны плюсики для issues и pr, только мало кто туда из рядовых пользователей заглядывает. Безопасность / Потенциальная уязвимость при получении объекта xPDO 28 +4
14 ноября 2016, 08:12 Поправил и это, спасибо. Комменты удаляю, чтобы не мешали Безопасность / Потенциальная уязвимость при получении объекта xPDO 28 0
13 ноября 2016, 19:16 Так что осталось только дождаться сигнала к действию. Чтобы это стало началом конца. А вот и фигушки. Jason Coward таки вник в вопрос и пообещал срочно принять меры. Говорит, были занятые выходные и он просто сразу не въехал в масштаб проблемы (а мой английский, очевидно, не так хорош, чтобы это доступно объяснить). В любом случае, скоро должен быть фикс — обновил заметку. Безопасность / Потенциальная уязвимость при получении объекта xPDO 28 +7
13 ноября 2016, 08:31 Естественно. Посмотри метод xPDOObject::load и проследи, когда он приведёт к xPDO::getCriteria. Безопасность / Потенциальная уязвимость при получении объекта xPDO 28 +1
12 ноября 2016, 14:48 Это же просто эксперимент пока. Неизвестно где и как отразится ужесточение получения объектов. Использовать на свой страх и риск, при получении ошибок — смотреть логи SQL и думать, как исправить. У меня на тестовом сайте, например, всё в порядке с combo-options. Безопасность / Критическая уязвимость в MODX Revolution 340 +2
12 ноября 2016, 14:36 Да там и POST завались, и подбор директорий через OWASP_DirBuster_Project, и еще много всякого в поисковых запросах (вроде всё отфильтровалось). Я вовсе не уверен, что всё закрыл, но основное — наверняка. Безопасность / Критическая уязвимость в MODX Revolution 340 +1
12 ноября 2016, 14:34 Но как, Шерлок? Особенно вот с этим исправлением? Там же вроде идёт что-то типа $object = new $objectName($data);или типа того. Хотяяя… можно же, наверное, подставить как-бы class_key = 'modUser' и тогда будет создан именно этот объект. Безопасность / Критическая уязвимость в MODX Revolution 340 +1
12 ноября 2016, 13:33 Не хочу, у меня своих дел завались. Новые дополнения и их версии / [Tickets] 1.7.0 улучшения рейтингов и ускорение работы 55 0
12 ноября 2016, 13:03 Обновил функцию, буду тестировать дальше. Новые дополнения и их версии / [Tickets] 1.7.0 улучшения рейтингов и ускорение работы 55 0
12 ноября 2016, 12:41 А это, похоже, из-за нашего исправления xPDO — позже подебажу, что там происходит. Новые дополнения и их версии / [Tickets] 1.7.0 улучшения рейтингов и ускорение работы 55 0
12 ноября 2016, 12:38 Этому сто лет в обед — работа TicketMeta с любыми ресурсами. А для тикетов после обновления нужно позаходить в ресурсы, чтобы создались объекты TicketTotal, или запустить вручную скрипт пересчёта рейтинга из заметки про обновление. Новые дополнения и их версии / [Tickets] 1.7.0 улучшения рейтингов и ускорение работы 55 0
12 ноября 2016, 10:45 Я свои уже пропатчил. Другой вопрос, закрывает ли это сразу все дыры, или нужно еще методы какие править — потому и спрашиваю автора xPDO, он лучше знает. Безопасность / Критическая уязвимость в MODX Revolution 340 +1
12 ноября 2016, 10:44 Да я, хотя-бы, обсудить хочу — есть ли в этом смысл. Если есть, то могу и самостоятельно хотфикс в репозитории выложить, не взирая на праздники. Безопасность / Критическая уязвимость в MODX Revolution 340 +2
12 ноября 2016, 10:27 Покопался в исходниках и написал пока такой фикс 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, буду ждать ответа. Безопасность / Критическая уязвимость в MODX Revolution 340 +9 4
12 ноября 2016, 09:09 Я надеюсь, что речь именно про web-коннекторы. Понятное дело, что через коннекторы менеджера тоже можно пролезть, но для этого требуется авторизация, а у web — далеко не всегда. Ну, будем ждать еще взломов и смотреть логи, куда и как пролезли. Безопасность / Критическая уязвимость в MODX Revolution 340 +1
12 ноября 2016, 08:41 По идее (по идее), в modConnectorResponse идёт проверка на авторизацию в админку и там вообще ничего снаружи не должно проходить. Но я уже ни в чём не уверен. Безопасность / Критическая уязвимость в MODX Revolution 340 +1
12 ноября 2016, 07:36 Я могу написать на что нужно обратить внимание и как исправить, но это же будет и инструкцией по взлому еще неисправленных сайтов и дополнений. Так что, палка о двух концах. Свои дополнения я поправил, так что можно посмотреть коммиты у тех, что в открытом доступе — должно быть всё понятно. Безопасность / Критическая уязвимость в MODX Revolution 340 +2
12 ноября 2016, 04:38 С нашим сообществом всё прекрасно. Человек сначала ярко выступили и получил заслуженные минусы и бан. Затем вернулся и доказал свою правоту — теперь получит почёт и уважение. Ну а я получил массу информации по методике взлома сайтов, благодаря логам на сервере. Безопасность / Критическая уязвимость в MODX Revolution 340 +4
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Комменты удаляю, чтобы не мешали
Говорит, были занятые выходные и он просто сразу не въехал в масштаб проблемы (а мой английский, очевидно, не так хорош, чтобы это доступно объяснить).
В любом случае, скоро должен быть фикс — обновил заметку.
Использовать на свой страх и риск, при получении ошибок — смотреть логи SQL и думать, как исправить.
У меня на тестовом сайте, например, всё в порядке с combo-options.
Я вовсе не уверен, что всё закрыл, но основное — наверняка.
Там же вроде идёт что-то типа
или типа того. Хотяяя… можно же, наверное, подставить как-бы class_key = 'modUser' и тогда будет создан именно этот объект.
А для тикетов после обновления нужно позаходить в ресурсы, чтобы создались объекты TicketTotal, или запустить вручную скрипт пересчёта рейтинга из заметки про обновление.
Другой вопрос, закрывает ли это сразу все дыры, или нужно еще методы какие править — потому и спрашиваю автора xPDO, он лучше знает.
Если есть, то могу и самостоятельно хотфикс в репозитории выложить, не взирая на праздники.
Это запрещает все запросы на получения объекта xPDO произвольным SQL запросом. Можно использовать либо первичные ключи, либо массивы с прописанными ключами, которые будут проверены при запросе.
По моим тестам работает хорошо, желающие могут проверить на себе — это файл core/xpdo/xpdo.class.php. Предложил код автору xPDO, буду ждать ответа.
Понятное дело, что через коннекторы менеджера тоже можно пролезть, но для этого требуется авторизация, а у web — далеко не всегда.
Ну, будем ждать еще взломов и смотреть логи, куда и как пролезли.
Но я уже ни в чём не уверен.
Так что, палка о двух концах. Свои дополнения я поправил, так что можно посмотреть коммиты у тех, что в открытом доступе — должно быть всё понятно.
Человек сначала ярко выступили и получил заслуженные минусы и бан. Затем вернулся и доказал свою правоту — теперь получит почёт и уважение.
Ну а я получил массу информации по методике взлома сайтов, благодаря логам на сервере.