我有一个python代码,它解析输入参数,如下所示:
parser = argparse.ArgumentParser(description='Information injection in file.') # , usage=usage())
requiredNamed = parser.add_argument_group('...')
requiredNamed.add_argument('--name', action='store', dest='myname', help='...', required=True)
requiredNamed.add_argument('--type', action='store', dest='mytype', help='...', required=True)
parser.add_argument('--enums', nargs='+', help='List to include')
args = parser.parse_args()
对于上述代码,Checkmarx显示了“args=parser.parse_args()”的高严重性错误消息,如下所示:
应用程序的get_process_output方法使用Popen调用OS(shell)命令,并使用不受信任的字符串执行该命令。 这可能允许攻击者注入任意命令,并启用命令注入攻击。 攻击者可以通过用户输入parse_args注入已执行的命令,该命令由应用程序在{}方法中检索
上面的python代码是在内部使用的(不是在像web站点这样的公共环境中),因此不会发生命令注入。所以在本例中,为了通过Checkmarx扫描,您能告诉我更新python代码的任何线索吗?(例如,是否有其他python API可用于替换上述“args=parser.parse_args()”?谢谢
目前没有回答
相关问题 更多 >
编程相关推荐