Инъекция команд
Некоторые методы ядра Ruby принимают строковые данные, содержащие текст, который будет выполнен как системная команда.
Не следует вызывать их с неизвестными или необработанными командами.
К этим методам относятся:
-
`команда` (метод обратной кавычки) (также вызывается выражением
%x[command]). -
IO.popen(когда вызывается не с"-").
Некоторые методы выполняют системную команду только если заданное имя пути начинается с |:
Обратите внимание, что некоторые из этих методов не выполняют команды, когда вызываются из подкласса File:
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.