本机IMS是否容易被注入?

问题描述 投票:0回答:1

如图所示 本文DB2可能会受到SQL Injections的攻击。

* 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命令.

db2 sql-injection cobol mainframe ims-db
1个回答
2
投票

这取决于你计划如何访问IMS数据库。

引自一个 IBM文件.

通过Web接口或ISPF接口发出的SQL语句,在zOS®的IMS SPUFI应用程序中作为IMS应用编程API执行。你可以选择COBOL或Java™作为语言环境来执行SQL语句。

如果你使用SQL,你可能会受到SQL注入的威胁。

如果你使用本地IMS命令,可能不会。 但还是要对输入进行消毒,即使是本机IMS命令也是个好主意。


1
投票

是的,所有支持运行时解析SQL查询字符串的SQL数据库都容易受到SQL注入的影响。

SQL注入不是数据库技术的缺陷,而是你编写的构建SQL查询字符串的客户端代码的缺陷。


1
投票

我是IBM IMS团队的成员。

IMS DLI调用不是动态的,因此不像SQL调用那样容易受到影响。CALL xxxTDLI IMS API不存在注入风险。也就是说,一个COBOL程序可以通过允许输入程序来影响传递给xxxTDLI的SSA列表或IOAREA参数来打开风险。所以,在针对这些接口进行编程时,应该遵循安全工程实践。

© www.soinside.com 2019 - 2024. All rights reserved.