[基础知识]
Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)
[漏洞学习]
Spring jndi注入:
攻击Java中的JNDI、RMI、LDAP(二) - Y4er的博客
jndi配合rmi实现反序列化命令执行。原理就是spring框架的lookup参数可控,就可以让server端去请求我们自己构造的rmi服务,其中包括恶意代码。其中利用到jndi的特性:
由于远程调用的类过大或者不稳定,JNDI提出了Naming
References的方法,返回相应的Reference而不返回具体的obj。统一由JNDI的请求端去加载指定的地址上的obj
也就是说我们搭建一个带有恶意类的服务器,其中这个服务器地址绑定在rmi服务上。我们发送给带有spring漏洞的服务器我们的rmi地址,让他去lookup,然后去访问我们的服务器,下载恶意类并反序列化。
利用过程就是这张图

服务端启动:

客户端向服务端发送恶意代码导致命令执行:

本文深入探讨了Java中的JNDI注入和RMI远程调用的安全问题,通过实例展示了如何利用Spring框架的漏洞,通过构造恶意的RMI服务触发远程代码执行。讲解了JNDI Naming References的概念,以及攻击者如何通过lookup过程下载并执行恶意类。同时,提到了防御此类攻击的方法,强调了安全配置和代码审查的重要性。
1590

被折叠的 条评论
为什么被折叠?



