type
status
date
slug
summary
tags
category
icon
password
0x00 log4j2 简介
log4j2是log4j的升级版本,基于java的日志框架,在java项目中被大量的引用,当用户输入数据被记录于日志中,攻击者可通过构造特殊请求,造成JNDI注入,来触发log4j达到命令执行,JNID可访问的目录服务有lLDAP,JDBC,RMI,DNS,NIS,CORBA,JNDI是java提供的一个java命令和目录接口,可通过其调用定位资产和程序对象,
0x01 影响版本条件
log4j2 版本影响网上公布在2.0.0-2.15.0,并且jdk版本不易过高,过高需要配置trustURLCodebase 设置为 true。
0x02 漏洞复现
docker安装:sudo apt-get update && sudo apt-get install docker docker docker-compose -y
检查安装成功docker环境:docker -v
检查安装成功compose环境:docker-compose version
拉取镜像文件:
service docker start
docker pull vulfocus/log4j2-rce-2021-12-09
开启环境,替换8080端口避免冲突:
docker run -tid -p 38080:8080 vulfocus/log4j2-rce-2021-12-09
访问地址:192.168.222.134:38080
post传参被禁止,采用get传参,发现错误
将get urlencode编码传参访问正常
查看DNSlog回显
0x03 log4j漏洞防护
1.升级最新版本的log4j组件
2.临时处理,过滤${},避免被执行命令
0x04 小结
此镜像被网上公开版本,镜像现已被二次修改,后续的反弹shell需get传参,有兴趣朋友可以自己研究一下。
post传参:修改get为post 添加请求头:Content-Type:application/x-www-form-urlencoded
- 作者:告白
- 链接:https://www.gbsec.top/article/log4j2%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0%EF%BC%88%E9%99%84docker%E9%9D%B6%E5%9C%BA%E7%8E%AF%E5%A2%83%EF%BC%89
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章