Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 10163|Отговор: 4

[Източник] .NET програмата тества Java проекта log4j2 за уязвимост при отдалечено изпълнение на код

[Копирай линк]
Публикувано на 2021-12-11 21:06:29 | | | |
През последните два дни тя беше отмъкната от "уязвимостта при изпълнение на отдалечен код 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)





Предишен:[Истински бой]. NET/C# Създайте SQLite база данни и просто добавяйте, изтривайте, модифицирайте
Следващ:Урок за внедряване на системи в CentOS nacos
 Хазяин| Публикувано на 2021-12-13 13:37:35 |
След Java 8 121 са необходими следните конфигурации за възпроизвеждане на уязвимостта:

 Хазяин| Публикувано на 2021-12-19 12:10:22 |
Публикувано на 2021-12-20 23:09:51 |
Нека наблюдаваме работата на шефа
Публикувано на 26.12.2021 16:54:47 |
Ела и учи отново。。。。。。。
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com