我们最近遇到了有人在我们的系统内乱搞的问题。为了防止在我的 python 代码中注入代码,我实现了以下if
块:
#! /usr/bin/python3
#-*- coding:utf-8 -*-
def main():
print("Your interactive Python shell!")
text = input('>>> ')
for keyword in ['eval', 'exec', 'import', 'open', 'os', 'read', 'system', 'write']:
if keyword in text:
print("You are not allowed to do this!")
return;
else:
exec(text)
print('Executed your code!')
if __name__ == "__main__":
main()
少数(用户)人可以在我们的 Ubuntu 系统中使用 sudo 权限运行这个 python 文件。我知道这听起来像是一个安全漏洞,但我看不出有任何逃脱的可能。有没有可能在我的代码块中注入?你有什么防止代码注入的技巧吗?