2011-02-11 4 views
0

У меня есть Java-программа, которая взаимодействует с репозиториями Mercurial, используя hg-клиент, выполненный с использованием commons exec. Так как мне придется время от времени вводить пользовательские входы в hg (такие как настройки прокси-сервера, исходный URL-адрес и т. Д.), Какие библиотеки доступны для дезинфекции входных данных для меня? В настоящее время я просто зачищаю что-нибудь после первого включения; но я не уверен в других методах, когда кто-то может запускать произвольные команды.Внесение изменений в внешний процесс

ответ

0

Вы не можете быть в безопасности, используя черный список (это то, что вы делаете). Вместо этого вы должны иметь белый список разрешенных символов (буквы, цифры, пробел, точки, ...). Сопротивляйтесь соблазну в черный список, он никогда не работает. (Например, код, который вы выживете в пробел? Сохраняет ли он \ 0 символов?)

Смежные вопросы