Я пытаюсь скомпилировать следующий файл https://github.com/wsfengfan/CVE-2020-2555/blob/master/supeream/CVE_2020_2555.java в моем сервере Ubuntu, но без успеха. Я попробовал 'javac CVE_2020_2555.java', но возвратился с более затем 17 ошибками:
javac CVE_2020_2555.java
CVE_2020_2555.java:5: error: package com.supeream.serial does not exist
import com.supeream.serial.Serializables;
^
CVE_2020_2555.java:6: error: package com.supeream.weblogic does not exist
import com.supeream.weblogic.T3ProtocolOperation;
^
CVE_2020_2555.java:7: error: package com.tangosol.util.extractor does not exist
import com.tangosol.util.extractor.ChainedExtractor;
^
CVE_2020_2555.java:8: error: package com.tangosol.util.extractor does not exist
import com.tangosol.util.extractor.ReflectionExtractor;
^
CVE_2020_2555.java:9: error: package com.tangosol.util.filter does not exist
import com.tangosol.util.filter.LimitFilter;
^
CVE_2020_2555.java:38: error: cannot find symbol
ReflectionExtractor extractor1 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:38: error: cannot find symbol
ReflectionExtractor extractor1 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:45: error: cannot find symbol
ReflectionExtractor extractor2 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:45: error: cannot find symbol
ReflectionExtractor extractor2 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:52: error: cannot find symbol
ReflectionExtractor extractor3 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:52: error: cannot find symbol
ReflectionExtractor extractor3 = new ReflectionExtractor(
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:58: error: cannot find symbol
ReflectionExtractor[] extractors = {
^
symbol: class ReflectionExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:64: error: cannot find symbol
ChainedExtractor chainedExtractor = new ChainedExtractor(extractors);
^
symbol: class ChainedExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:64: error: cannot find symbol
ChainedExtractor chainedExtractor = new ChainedExtractor(extractors);
^
symbol: class ChainedExtractor
location: class CVE_2020_2555
CVE_2020_2555.java:65: error: cannot find symbol
LimitFilter limitFilter = new LimitFilter();
^
symbol: class LimitFilter
location: class CVE_2020_2555
CVE_2020_2555.java:65: error: cannot find symbol
LimitFilter limitFilter = new LimitFilter();
^
symbol: class LimitFilter
location: class CVE_2020_2555
CVE_2020_2555.java:87: error: cannot find symbol
byte[] payload = Serializables.serialize(badAttributeValueExpException);
^
symbol: variable Serializables
location: class CVE_2020_2555
17 errors
Любая справка очень ценилась бы для создания сериализованного объекта (test.ser) со следующим кодом Java.
Спасибо
Это может быть закрыто. Решенный путем компиляции с выпуском сообщества ИДЕИ JetBrains.
Чтобы запустить его с помощью команды javac
, вам нужно указать CLASSPATH:
javac -cp /home/user/com/supeream:. /home/user/com/supeream/Main.java
Я ранее переименовал папку CVE_2020_2555
в com
.
Шаги:
cd ~/
git clone https://github.com/wsfengfan/CVE-2020-2555.git
mv CVE-2020-2555 com
javac -cp / домашняя страница/пользователь/com/supeream:. /home/user/com/supeream/CVE_2020_2555.java
илиjavac -cp com/supeream:. com/supeream/CVE_2020_2555.java
Важно находиться внутри каталога /home/user
. Однако для этого требуется больше зависимостей. Так что вы правы. Лучше использовать IDE, которая сама скачает необходимые зависимости.