【问题标题】:SAP SAVE_TEXT function module is that secure against SQL Injection?SAP SAVE_TEXT 功能模块对 SQL 注入安全吗?
【发布时间】:2013-01-22 14:40:34
【问题描述】:

我对@9​​87654321@ 功能模块SAVE_TEXT 有疑问。我假设可以创建自定义tdobjecttdid,然后将长文本存储在表STXH, STXL 中。 SAVE_TEXTSQL 注入攻击的安全性如何?由于将文本编码为 RAW 格式,它不会容易受到攻击吗?

【问题讨论】:

    标签: abap abap


    【解决方案1】:

    您的第一个假设要么在翻译中丢失,要么一开始就错误 - TDOBJECTTDID 的有效值通常由应用程序开发人员使用事务 SE75 手动维护。它们不是作为日常应用程序处理的一部分而创建的。

    就数据库访问而言,有两个安全级别可以防止 SQL 注入,尽管其中一个并非设计为安全级别:

    1. 文本内容以内部形式存储,该形式被序列化为字节字符串。原始文本中可能存在的任何 SQL 命令都无法通过此转换。

    2. DML 命令通过通常的数据库接口层传递,该层使用带有一组固定变量的准备好的语句,这些变量仅在执行语句时才提供值。据我所知,没有使用动态SQL语句来修改STX*文本。

    对于正常的业务应用程序,这应该足够安全。如果你想经营一座核电站,好吧 - 我们必须谈谈。

    【讨论】:

    • 补充一点,如果您因为运行核电站而担心 SQL 注入,那么我不会从保护“SAVE_TEXT”开始。
    • 感谢VWegert的详细解释!这是非常有用的。我当然不想经营核电站。使用自定义 tdobject 和 tdid 我的意思是使用 SPRO 事务创建文本对象 :-) 非常感谢!
    • @tomdemuyt:只是想说明“安全”不是一件简单的事情。便宜、实用、安全 - 选择两个。你不可能同时拥有这三个 - 永远。
    • @Elena:将 SPRO 作为交易引用与引用 SMEN 一样有用——也就是说,根本没有用。 SPRO 可以访问数以万计的交易和其他设置。始终使用“真实”事务、查看或查看集群名称、BAdI 定义、增强点或您所指的任何内容。
    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多