注入攻击中的解释器

Posted

技术标签:

【中文标题】注入攻击中的解释器【英文标题】:interpreters in injection attacks 【发布时间】:2017-08-02 19:10:21 【问题描述】:

OWASP 对注入攻击的定义是这样的——

当不受信任的数据作为命令或查询的一部分发送到解释器时,就会出现注入缺陷,例如 SQL、OS 和 LDAP 注入。攻击者的恶意数据可以欺骗解释器执行意外命令或在未经适当授权的情况下访问数据。

解释器在每种情况下(LDAP、操作系统、SQL 等)的含义是什么?所有类型的注入攻击(例如 XML、XPath、HTTP 等)都需要解释器吗?

【问题讨论】:

【参考方案1】:

是的,代码注入攻击的本质是攻击者诱使应用程序运行一些不属于该应用程序预期功能的代码语句。

这意味着必须有某种机制来解析和执行攻击者负载中包含的恶意代码,然后应用程序的所有者才能阻止它。

理论上,应用程序可以编译代码并自动运行,但这种类型的攻击更常见的是使用未经编译但在运行时解释的恶意代码。

您的其他示例,XML、XPath、HTTP,通常与代码注入无关。

XML 不是代码,它是一种数据格式。 HTTP 不是代码,它是一种协议。 XPath 有点像代码,但却是一种非常专业的代码。它是一种用于识别 XML 文档中元素的表达式语言。它的功能有限,因此它不是代码注入攻击的常见载体。

【讨论】:

以上是关于注入攻击中的解释器的主要内容,如果未能解决你的问题,请参考以下文章

注入攻击

如何防止sql注入攻击?

Bash 通过特殊环境变量进行代码注入攻击

如何绕过WAF进行sql注入

红帽:Bash 通过特殊环境变量进行代码注入攻击

XML注入详解 xxe注入攻击