През последните два дни тя беше отмъкната от "уязвимостта при изпълнение на отдалечен код Apache Log4j2" сред приятелите, главно заради уязвимостта при инжектиране на Java JNDI в компонента: когато програмата записва данните, въведени от потребителя, в лога, нападателят създава специална заявка, за да задейства уязвимостта за изпълнение на отдалечен код в Apache Log4j2, като по този начин експлоатира тази уязвимост за изпълнение на произволен код на целевия сървър.
Обхват на влияние
Apache Log4j 2.x <= 2.14.1
JNDI (Java Nameing and Directory Interface) е интерфейс за именуване и директория на Java, предоставен от Java. Чрез извикване на API на JNDI, приложенията могат да локализират ресурси и други програмни обекти. JNDI е важна част от Java EE, трябва да се отбележи, че той не включва само DataSource (JDBC източник на данни), но и JNDI може да достъпва съществуващи директории и услуги като: JDBC, LDAP, RMI, DNS, NIS, CORBA, извлечено от Baidu. Има много статии в интернет за това как да се поправят уязвимости и скрийншотове на уязвимости, но малко за това как да се тества проектът за уязвимостта.Java основно използва Log4j2 за тестване на кодаКакто следва:
С прости думи, Log4j2 ще достъпва следния адрес чрез RMI или LDAP протокола и според съдържанието на протокола може да изпълнява злонамерено конструиран код.
Съществуването на уязвимостта почти винаги се доказва в интернет чрез отваряне на Windows калкулатор, а кодът е следният:
Тъй като Log4J2 използва RMI или LDAP протоколи за достъп до сървъра на нападателя, а както RMI, така и LDAP протоколите са базирани на TCP, можем да го направим директноИзползвайки .NET за слушане на TCP порт, ако повикване към log4j2 за отпечатване на логове достъпва .NET слушателния порт, това доказва, че може да има уязвимост, а ако не, се оказва сигурен。
.NET генерира много малки тестови програми6kb, кодът е следният:
Опитай да използваш компонента log4j2.14.0Версията е отпечатана, а рендерирането е следното:
Опитай да ъпгрейднеш компонента log4j до2.15.0версия, изпълнена отново, ефектът е следният:
След ъпгрейд на версията се установява, че след извикване на журнала за печат,Java програмата вече не достъпва външния порт。
Заинтересовани приятели, можете да се обърнете към следния линк, за да възпроизведете уязвимостта и да се обадите на калкулатора.
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
Накрая, прикачете процедурата за тест:
测试程序.rar
(2.66 KB, Брой изтегляния: 1)
|