Java安全-RCE执行,JNDI注入

Java 安全 - RCE 执行 - 5 大类函数调用

-Groovy

-RuntimeExec

-ProcessImpl

-ProcessBuilder

-ScriptEngineManager

检测:(大部分白盒)

黑盒看参数名和参数值

白盒看类函数名和可控变量

Java 安全 - JNDI 注入 - RMI&LDAP & 版本 什么是 jndi 注入

为什么有 jndi 注入

JDNI 注入安全问题(RCE)

JDNI 注入利用条件(看上图)

参考:https://blog.csdn.net/dupei/article/details/120534024

JNDI 全称为 Java Naming and DirectoryInterface( Java 命名和目录接口), 是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来 定义用户、网络、机器、对象和服务等各种资源。JNDI 支持的服务主要有:DNS、
LDAP、CORBA、RMI 等。
RMI:远程方法调用注册表 LDAP:轻量级目录访问协议

调用检索:
Java 为了将 Object 对象存储在 Naming 或 Directory 服务下,提供了 Naming
Reference 功能,对象可以通过绑定 Reference 存储在 Naming 或 Directory 服务 下,比如 RMI、LDAP 等。javax.naming.InitialContext.lookup ()
在 RMI 服务中调用了 InitialContext.lookup () 的类有:

调用检索:
Java 为了将 Object 对象存储在 Naming 或 Directory 服务下,提供了 Naming
Reference 功能,对象可以通过绑定 Reference 存储在 Naming 或 Directory 服务 下,比如 RMI、LDAP 等。javax.naming.InitialContext.lookup ()
在 RMI 服务中调用了 InitialContext.lookup () 的类有: