рассмотреть этот код:Является ли этот eval() безопасным для питона?
from re import sub
input = request.POST['input']
sub_pattern = {'1':"sub('pattern1','txt1',input)",
'2':"sub('pattern2','txt2',input)",
}
eval(sub_pattern['1'])
является там код-инъекции в этом коде? можете ли вы предоставить POC для этой инъекции кода?
Почему бы вам даже беспокоиться? Вам не нужно ** 'eval' здесь, чтобы выполнить то, что вы делаете. –
Зачем вам это делать? Почему бы просто не использовать 'sub (arg1, arg2, input)' и выбрать 'arg1' и' arg2' из вашего сопоставления? –
'sub_pattern = {'1': lambda i: sub ('pattern1', 'txt1', i), ...}' –