jndi-injection

Identify JNDI injection vulnerabilities in Java applications via RMI, LDAP, and DNS patterns.

Updated Jun 11, 2026
One-click install
npx skills add https://github.com/utsavthakur/agenticskills --skill jndi-injection-utsavthakur
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jndi-injection
Source: https://github.com/utsavthakur/agenticskills/tree/main/jndi-injection
Command: npx skills add https://github.com/utsavthakur/agenticskills --skill jndi-injection-utsavthakur

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires marshalsec, JNDI-Injection-Exploit, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps in identifying and addressing JNDI injection vulnerabilities in Java applications, especially those utilizing Log4j2, Spring, or other frameworks that perform JNDI lookups with attacker-controlled names.

Core Features & Use Cases

  • Vulnerability Detection: Identifies when Java applications are performing JNDI lookups with attacker-controlled names.
  • Attack Vector Analysis: Provides insights into RMI, LDAP, and DNS attack vectors.
  • JDK Version Constraints: Details on JDK version constraints and bypass methods, including the impact of Log4Shell (CVE-2021-44228).
  • Tooling: Lists various tools like marshalsec and JNDI-Injection-Exploit for testing and exploitation.
  • Testing Methodology: Offers a structured approach to testing JNDI injection vulnerabilities in applications.

Quick Start

Use the jndi-injection skill to check for JNDI injection vulnerabilities in your Java application by executing the following command: 'jndi-injection scan my-app.jar'

Frequently Asked Questions about jndi-injection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect JNDI injection vulnerabilities in a Java application?

The Skill detects JNDI injection vulnerabilities by analyzing RMI, LDAP, and DNS lookup patterns in your Java application to identify when attacker-controlled names are used. Run 'jndi-injection scan my-app.jar' to check your codebase.

What are the RMI, LDAP, and DNS attack vectors for JNDI injection?

JNDI injection attack vectors exploit RMI, LDAP, and DNS protocols by injecting attacker-controlled names into JNDI lookups. The Skill analyzes these lookup patterns to identify which specific protocol vectors your Java application is vulnerable to.

Do I need Java and marshalsec to test for JNDI injection vulnerabilities?

Yes, testing JNDI injection requires Java and tools like marshalsec and JNDI-Injection-Exploit for scanning and exploitation. These dependencies enable you to run a JNDI reference server and validate vulnerabilities in your application.

How do JDK version constraints affect Log4Shell (CVE-2021-44228) bypass methods?

JDK version constraints impact JNDI injection by restricting remote class loading in newer versions, requiring specific bypass methods. The Skill details these constraints and bypass techniques, including the impact of Log4Shell (CVE-2021-44228) on vulnerable JDK versions.

What is the best way to test JNDI injection vulnerabilities using a JNDI reference server?

The best way to test JNDI injection vulnerabilities is by using a JNDI reference server tool like marshalsec to simulate attacks. The Skill provides a structured testing methodology to validate RMI, LDAP, and DNS attack vectors against your Java application.

Can I use this Skill to scan Java frameworks like Spring and Log4j2 for JNDI lookup issues?

Yes, the Skill can scan Java frameworks like Spring and Log4j2 for JNDI lookup issues. It identifies when these frameworks perform JNDI lookups with attacker-controlled names and assesses the associated vulnerability risks.