What is JNI and why is it relevant to Java exploitation?
JNI (Java Native Interface) allows Java code to call native dynamic link libraries (DLLs), extending Java's capabilities. In exploitation, this can be leveraged to execute arbitrary native code, such as running system commands via a malicious DLL. The article Java Exploitation Techniques – Loading DLL via JNI demonstrates this in a Tomcat JSP environment, enabling remote code execution.
JNIDLL loadingJava exploitationnative code execution