Проблема с усилением — внедрение командJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с усилением — внедрение команд

Сообщение Anonymous »

Я пытаюсь выполнить сканирование безопасности hp fortify для своего Java-приложения. У меня мало проблем, и я их исправил. Но я не могу найти решение приведенной ниже проблемы.
  • Внедрение команд

    Код: Выделить всё

    String hostname = execReadToString("hostname").split("\\.")[0];
    public static String execReadToString(String execCommand) throws IOException {
    try (Scanner s = new Scanner(Runtime.getRuntime().exec(execCommand).getInputStream()).useDelimiter("\\A")) {
    return s.hasNext() ? s.next() : "";
    }
    
    Метод execReadToString() вызывает exec() для выполнения команды. Этот вызов может позволить злоумышленнику внедрить вредоносные команды.
Поэтому я также попробовал использовать построитель процессов.

Код: Выделить всё

private static void gethostname(String cmd1) throws IOException {
if(Pattern.matches("[A-Za-z]+", cmd1)) {
ProcessBuilder pb = new ProcessBuilder(cmd1);
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String readline;
while ((readline = reader.readLine()) != null) {
System.out.println(readline);
}
}
}
Даже это вызывает у меня проблемы с безопасностью Этот вызов start() может позволить злоумышленнику внедрить вредоносные команды.

Каким будет идеальное решение этой проблемы?

Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/501 ... -injection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»