Я пытаюсь выполнить сканирование безопасности hp fortify для своего Java-приложения. У меня мало проблем, и я их исправил. Но я не могу найти решение приведенной ниже проблемы.
Я пытаюсь выполнить сканирование безопасности hp fortify для своего Java-приложения. У меня мало проблем, и я их исправил. Но я не могу найти решение приведенной ниже проблемы.
[list] [*][b]Внедрение команд[/b]
[code]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() : ""; } [/code]
Метод execReadToString() вызывает exec() для выполнения команды. Этот вызов может позволить злоумышленнику внедрить вредоносные команды. [/list]
Поэтому я также попробовал использовать построитель процессов.
[code]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); } } } [/code]
Даже это вызывает у меня проблемы с безопасностью [b]Этот вызов start() может позволить злоумышленнику внедрить вредоносные команды.[/b]
Сейчас я читаю «Иоахима Вейкерта: Анизотропная диффузия в обработке изображений». Там сказано, что фильтр Пероны-Малика не является анизотропным, поскольку в нем не используется структурный тензор. Я могу реализовать Перону-Малик, но у меня возникли...
Мы используем приведенный ниже .bashrc для сохранения истории команд, и он работает нормально, пока мы не используем имя пользователя su для запуска команд. История не сохраняется после запуска su username, пока мы не выйдем из su.
# cat...
Предположим, в турнире участвуют 3 команды A, B и C. Возможны 3 совпадения AB, BC, CA. Это тривиальный пример. Число команд не может быть 10. Нам нужно распечатать все комбинации команд.
Мое приложение использует Process.Start для открытия другого приложения для запуска. VeraCode сообщил об этой команде как об уязвимости внедрения команд ОС. Я хотел бы получить комментарий. Я нашел в Интернете много информации о фильтрации ввода или...
Недавно я присутствовал на собеседовании, где интервьюер спросил, как я буду выбирать между использованием внедрения конструктора или внедрением сеттера для внедрения зависимостей в Spring. Я ответил, что если зависимость обязательна, мы будем...