如这篇文章所示,DB2可能容易受到SQL注入的影响:
* Potential SQL injection if X, Y or Z host variables come from untrusted input
STRING "INSERT INTO TBL (a,b,c) VALUES (" X "," Y "," Z ")" INTO MY-SQL.
EXEC SQL PREPARE STMT FROM :MY-SQL END-EXEC.
EXEC SQL EXECUTE STMT END-EXEC.
我的问题是,本地IMS命令是否容易受到这类(或类似)注入的攻击?例如,将恶意输入输入到ISRT DLI命令中。
发布于 2020-06-12 04:13:08
这取决于您计划如何访问IMS数据库。
引用IBM文档的话。
通过web接口或ISPF接口发出的SQL语句作为IMS应用程序编程API在z/OS中的IMS SPUFI应用程序中执行。您可以为语言环境选择COBOL或Java来执行™语句。
如果使用SQL,则可能容易受到SQL注入的影响。
如果您使用本机IMS命令,则可能不会。但是,对输入进行净化仍然是个好主意,即使是对本地IMS命令也是如此。
发布于 2020-06-11 22:20:14
是的,所有支持SQL查询字符串运行时解析的SQL数据库都容易受到SQL注入的影响。
SQL注入不是数据库技术中的缺陷,而是您编写的构建SQL查询字符串的客户端代码中的一个缺陷。
发布于 2020-06-22 04:24:19
我是IBM IMS团队的一员。
IMS /I调用不是动态的,因此不像SQL调用那样容易受到影响。调用xxxTDLI IMS不存在注入风险。也就是说,COBOL程序可以通过允许对程序的输入影响SSA列表或传递给xxxTDLI的IOAREA参数来打开风险。因此,在针对这些接口进行编程时,应该遵循安全的工程实践。
https://stackoverflow.com/questions/62333044
复制相似问题