前言
JNDI注入绕过高版本限制已经被别人玩烂了,我才开始学。参考文章写的特别好。
本文大部分参考https://kingx.me/Restrictions-and-Bypass-of-JNDI-Manipulations-RCE.html
JNDI注入
暂时只了解到 JNDI注入分为如下几类
- RMI Remote Object Payload(限制较多,不常使用)
- RMI + JNDI Reference Payload
- LDAP + JNDI Reference Payload
- CORBA攻击
对于CORBA我直接放弃。
注:以下都摘自https://kingx.me/Restrictions-and-Bypass-of-JNDI-Manipulations-RCE.html
RMI Remote Object Payload
攻击者实现一个RMI恶意远程对象并绑定到RMI Registry上,编译后的RMI远程对象类可以放在HTTP/FTP/SMB等服务器上,这个Codebase地址由远程服务器的 java.rmi.server.codebase 属性设置,供受害者的RMI客户端远程加载,RMI客户端在 lookup() 的过程中,会先尝试在本地CLASSPATH中去获取对应的Stub类的定义,并从本地加载,然而如果在本地无法找到,RMI客户端则会向远程Codebase去获取攻击者指定的恶意对象,这种方式将会受到 useCodebaseOnly 的限制。利用条