Пример init бэкдора
Нашел интересный внедрённый бэкдор с утечкой данных при логине в local/php_interface/include/agents.php
После успешного входа пользователя:
1 собирает данные о логине (USER_ID, заголовки запроса, IP, флаги прав, данные пользователя),
2 сохраняет хэш-строку в файл внутри /upload/iblock/<3-симв>/[md5].jpg (камуфляж под картинку),
3 отправляет JSON с этими данными на внешний хост sw.bitrix.dev/add.php (Касперский сразу выдаёт при проверке как опасный сайт).
4 Если он не отвечает — делает DNS-запрос на dns.google/resolve?name=sw.bitrix.dev&type=TXT, читает TXT OtherDomain:<домен> и шлёт туда же (механизм смены C2).
5 Использует функции su_request/su_request_post с отключенной верификацией SSL, фолбэками на file_get_contents — чтобы сработать почти в любом окружении.
Почему это опасно
• Утечка авторизационных событий и окружения (в т.ч. возможных токенов из заголовков).
• Создание скрытого лог-файла «.jpg» в /upload/iblock/... (может использоваться как канал хранения).
• Устойчивость: код спрятан в init.php (подключается всегда), скрывает имя события и домен вирусного сайта, пытается найти запасной домен через DNS TXT.
П.С. Важно после вирусов или взломов обязательно проверять init файлы
Ещё статьи:
02.04.2026
Разговоры о фрилансе
Предыстория - автор вопроса хочет войти в IT сферу, я человеку начал подсказывать в комментариях на форуме. На примере вопросов и ответов в разговоре можно увидеть типовые ошибки и непонимание начинающего, и в будущем избежать повторения ошибок.
21.03.2026
PHP файловый менеджер
Попался мне такой PHP файловый менеджер, вполне функциональный, выкладываю в копилку скриптов
21.03.2026
Ошибка CUser::IsAuthorized() cannot be called statically
Такая ошибка старых весрий битрикс давно известна. Нужно заменить CUser::IsAuthorized() на $USER->IsAuthorized(), но в моём случае я сначала не смог найти место, где же находится проблема.

