【发布时间】:2013-01-22 14:40:34
【问题描述】:
我对@987654321@ 功能模块SAVE_TEXT 有疑问。我假设可以创建自定义tdobject 和tdid,然后将长文本存储在表STXH, STXL 中。 SAVE_TEXT 对SQL 注入攻击的安全性如何?由于将文本编码为 RAW 格式,它不会容易受到攻击吗?
【问题讨论】:
我对@987654321@ 功能模块SAVE_TEXT 有疑问。我假设可以创建自定义tdobject 和tdid,然后将长文本存储在表STXH, STXL 中。 SAVE_TEXT 对SQL 注入攻击的安全性如何?由于将文本编码为 RAW 格式,它不会容易受到攻击吗?
【问题讨论】:
您的第一个假设要么在翻译中丢失,要么一开始就错误 - TDOBJECT 和 TDID 的有效值通常由应用程序开发人员使用事务 SE75 手动维护。它们不是作为日常应用程序处理的一部分而创建的。
就数据库访问而言,有两个安全级别可以防止 SQL 注入,尽管其中一个并非设计为安全级别:
文本内容以内部形式存储,该形式被序列化为字节字符串。原始文本中可能存在的任何 SQL 命令都无法通过此转换。
DML 命令通过通常的数据库接口层传递,该层使用带有一组固定变量的准备好的语句,这些变量仅在执行语句时才提供值。据我所知,没有使用动态SQL语句来修改STX*文本。
对于正常的业务应用程序,这应该足够安全。如果你想经营一座核电站,好吧 - 我们必须谈谈。
【讨论】: