如this article中所示,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命令是否容易受到这种(或类似的)注入攻击?如果是这样,我想看一个具体的例子,因为到目前为止我还没有找到关于它的参考。
是,所有支持SQL查询字符串的运行时解析的SQL数据库都容易受到SQL注入的影响。
SQL注入不是数据库技术中的缺陷,它是您编写的用于构建SQL查询字符串的客户端代码中的缺陷。
取决于您计划如何访问IMS数据库。
从IBM document报价。
您通过Web界面或 ISPF接口在IMS中作为IMS应用程序编程API执行。 z /OS®中的IMS SPUFI应用程序。您可以选择COBOL或Java™ 语言环境来执行SQL语句。
如果使用SQL,则可能容易受到SQL注入的攻击。
如果使用本地IMS命令,可能不会。但是清理输入内容仍然是一个好主意,即使对于本机IMS命令也是如此。