только не забываем, что нужно тогда обновляться до php7.4, чтобы работал новый функционал, это если говорить о глобальном обновлении. а , если обновить до php 7.4 сервер, где установлена версия <=20, то отвалится функционал этой версии и надо будет вручную там править файлы. вот такая дилема
,
Ну, из приведенных Вами изменений можно отметить только проверку имени класса - то, что это экземпляр Connector, которая проводится до создания класса. Но, мне кажется, что если это все изменения в vote, то дело было явно не в нем.
Как по мне, то решением невыполнения скриптов в upload является его перенос выше директории, где прописано обрабатывание скриптов(обычно /var/www/Папка_С_Битрикс) и создание символической ссылки @upload в корне сайта на эту директорию.
написал: Я так и не понял, уязвимость только на порталах без обновлений? Т.е. у кого установлены последние обновления, все нона одном сайте последние
На одном сайте последние обновления были установлены 14 июня (2 недели назад), сейчас проверил - на модуль vote стоит версия 21.0.100 от 04.03.2022. В системе обновлений сейчас висит новая версия vote 22.0.0 Эта бяка присутствует в upload (BXTEMP-2022-06-24 изменен 23.06.2022 15:39:38). Наблюдаются проблемы с заказами, обменом с 1С и печатью чеков на кассе (касса не доступна) Так что Обновления не гарантия
а .htaccess есть в /upload? если да, то указано, что не давать выполнять скрипты? <IfModule mod_mime.c> <Files ~ \.(php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht|py|psp|rb|var)> SetHandler text/plain ForceType text/plain </Files> </IfModule>
Это прокатит, если у вас связка nginx+apache
если php-fpm, то прописывать надо в nginx
в какой-то мере помогает избежать выполнения скриптов в /upload/
написал: Я так и не понял, уязвимость только на порталах без обновлений? Т.е. у кого установлены последние обновления, все норм?
мартовское вроде было обновление это.
причем, битрикс рассылал всем письмо, что нужно обновиться, ибо обнаружена уязвимость бла-бла-бла.
Но, вот выпустить заплатку, видимо, не судьба. А обновиться даже с 19 на последнюю версию - это обновить сервер, если у вас php 7.2 или ниже, накатить siteupdate, обновить кучу модулей. Работа не на один час.
написал: <? if ($_SERVER['REQUEST_METHOD'] === 'POST') { header("Status: 404 Not Found"); die(); } require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/fileman_html_editor_action.php");
Спасибо.
Только это для файла /bitrix/tools/html_editor_action.php
А для /bitrix/tools/vote/uf.php <? if ($_SERVER['REQUEST_METHOD'] === 'POST') { header("Status: 404 Not Found"); die(); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/vote/tools/uf.php"); ?>
Но, как по мне, всё это не панацея, поменял запрос на GET и ломай. Сейчас просто это помогает, чтобы временно решить проблему , т.к. скрипт для внедрения стандартный и используется одинаково для всех сайтов. потом поднапрягутся ребята, поменяют логику работы и опять будут сломанные сайты.
так что, может быть, лучшим все-таки является вставка die() прямо в начало файлов, а потом уже разбираться что и как можно поправить.
написал: Подскажите, в VMBitrix на уровне nginx можно запретить инъекции методом POST сразу для всех /ext_www/ сайтов в уязвимые файлы? /bitrix/tools/vote/uf.php /bitrix/tools/html_editor_action.php
Дело в том, что очень много виртуалок vmbitrix, и на каждой достаточное количество сайтов.
Поэтому было бы очень полезным это решение, в какой общий конфигурационный файл niginx в какую секцию что прописать, чтобы применилось сразу для всех сайтов.
Ну, вот вариант, что у меня старая версия Битрикс и не получается ее обновить. Тут люди и ищут варианты закрыть дырку, без обновления siteupdate и модуля.
написал: Заметил, что в логах взлом был с адреса 185.180.199.209, В группе разработчиков в телеге, у кого-то тоже взлом с аналогичного IP У кого какие адреса использовались для взлома?
Для запуска из консоли - ищем все модифицированные сегодня файлы, с раширением php в папке /var/www/html(папку ставим свою). Список будет в файле: /var/log/daily_modify_php_files.log
Работает мультисайт на разных доменах - site1.ru, site2.ru Настраивали уже давно - через создание симлинков на папки bitrix,local,upload основного сайта(site1.ru). В принципе, все работает, но вот решил проверить единую авторизацию - но, тут возник затык. Настройки вроде бы все верные - стоят галочки "распространять куки на все домены" и "Распространять авторизацию на все домены".
Параметр s - совпадает на обоих сайтах, а вот второй параметр k - разный.
Если посмотреть консоль с куками в Хроме на второй сайте, то вижу, что есть параметр BITRIX_SM_LOGIN равный логину на первом сайте, параметр PHPSESSID различается для двух сайтов. Т.е., как я понимаю, по идее данные авторизации с первого сайта передаются на второй, но тем не менее, объект USER пустой на втором сайте.
В чем может быть проблема?
Сайты живут на хостинге reg.ru, учетная запись общая, сайты разведены по собственным директориям.
[2019-01-28T14:51:03.362+03:00] INFO [int-ssl-services5] [POST/layout_sevices/shop_info/paymentApproval] [bcb41ce2078e5ad3] [23e0ffcc-000f-5000-8000-166c1529f402] [CommonHTTPSCAConnector] 180 ms for https://site/bitrix/tools/sale_ps_result.php
[2019-01-28T14:51:03.362+03:00] WARN [int-ssl-services5] [POST/layout_sevices/shop_info/paymentApproval] [bcb41ce2078e5ad3] [23e0ffcc-000f-5000-8000-166c1529f402] [CommonHTTPStub] Response is not XML: response=
По транзакции 2001568943199 платеж был отклонен банком эмитентом с комментарием "Отказ сети проводить транзакцию".
вопрос: Возможно ли стандартными средствами или настройками в админке привязывать корзины к сессии посетителя?
Т.е. пользователь, к примеру, зарегистрирован на сайте. Он зашел на сайт, авторизовался, добавил в корзину товары, делать заказ не стал, корзина осталась висеть(пускай в ней есть 5 товаров).
Через какое-то время пользователь зашел на сайт не авторизуясь, положил в корзину 3 товара, после чего авторизовался и в его корзине должно быть 3 товара, которые он добавил в последней сессии.
Проверил на 17 версии, в данной ситуации на последнем шаге у пользователя в корзине будет , естественно , 5 товаров, которые он положил под своей учеткой.
А в ответ - тишина... Господа из ТП Битрикс, если Вы уж не можете дать вразумительный ответ через свой сервис "Обращения", то может Вы хоть иногда читаете форум?
Проблема не единичная, обмен заказами - основная задача интернет - магазина.
Хотелось бы получать вразумительные нормальные объяснения на поставленные ТП вопросы, тем более , когда за продукт заплачены деньги.