Попытка скомпилировать файл Java без успеха на Ubuntu (CVE-2020-2555.java)

Я пытаюсь скомпилировать следующий файл 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.

Спасибо

0
задан 21 April 2020 в 05:12

2 ответа

Это может быть закрыто. Решенный путем компиляции с выпуском сообщества ИДЕИ JetBrains.

0
ответ дан 25 April 2020 в 10:43

Чтобы запустить его с помощью команды javac, вам нужно указать CLASSPATH:

javac -cp /home/user/com/supeream:. /home/user/com/supeream/Main.java

Я ранее переименовал папку CVE_2020_2555 в com.

Шаги:

  1. cd ~/
  2. git clone https://github.com/wsfengfan/CVE-2020-2555.git
  3. mv CVE-2020-2555 com
  4. 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, которая сама скачает необходимые зависимости.

0
ответ дан 29 April 2020 в 13:33

Другие вопросы по тегам:

Похожие вопросы: