У меня есть скрипт python, который обертывает инструмент командной строки bash, который получает свои переменные из внешнего источника (переменные среды). есть ли способ выполнить какое-то программное обеспечение для побега, чтобы предотвратить выполнение злоумышленником плохого кода в одном из этих параметров.
например, если скрипт выглядит так
/bin/sh
/usr/bin/tool ${VAR1} ${VAR2}
а кто-то поставил VAR2 следующим образом
export VAR2=123 && \rm -rf /
поэтому он может не рассматривать VAR2 как чистый ввод и выполнять команду rm
.
Есть ли способ сделать переменную неисполняемой и взять строку как есть в инструмент командной строки в качестве входных данных?
&&
в качестве второго аргумента вtool
. - person user1934428   schedule 09.03.2020