-2
考慮下面的代碼:這是eval()在Python中安全嗎?
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),...}' –