• XSS.stack #1 – первый литературный журнал от юзеров форума

Способ обработки shellarg в Python

L.Luciano

HDD-drive
Пользователь
Регистрация
02.11.2018
Сообщения
23
Реакции
53
Кто знает норм способы обработки аргумента в shell-команде в Python? Я понимаю, что есть subproccess и подобные библиотеки, но речь идёт о передаче параметра через SSH. Достаточно ли надёжной будет функция shell_escape в коде ниже?
Python:
import paramiko
import sys

def shell_escape(arg):
    return "'%s'" % (arg.replace(r"'", r"'\''"), )

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname="192.168.0.272", username="root", password="toor", port="22")
stdin, stdout, stderr = client.exec_command("sh script.sh {}".format(shell_escape(sys.argv[1])))
data = stdout.read() + stderr.read()
client.close()
print(str(data))
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх