
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 !!! 텍스트로 대체됩니다.
애플리케이션이 취약하지 않다면, 주입된 문자열은 대체되지 않으며 테스트 서버는 어떤 연결도 수신하지 않습니다.