我正在开发一个项目,其中将备份一些来自Lotus Notes的论坛和信息。我正在使用Flask运行后端。用代码扫描器AppScreener检查我的代码后,它说我的SQL代码具有一些SQL注入漏洞,但是我无法理解为什么。
这是AppScreener结果:
for usuario in data:
print("Usuario", usuario)
status = usuario['estatus_usuario']
mail = usuario['email_usuario']
cursor = conn.cursor()
cursor.execute( "UPDATE administrador_usuarios SET estatus_usuario=%s
WHERE email=%s",(status,mail)) # ---> this is the line where according to AppScreener is the vulnerability present
conn.commit()
conn.close()
return json.dumps({"response":"ok"})
你能告诉我我能做什么吗?
这实际上取决于您用于sql的DBAPI(pyodbc,pymysql,sqlite等)。在大多数情况下,我认为%s表示法在不久前已贬值。最好用?人们评论过(引用的链接)。