0

我们如何准确区分 XSS 和 html 注入。这两者都属于代码注入,XSS 主要与 Java Script 相关,但也包括其他其他元素,如Mitre中所述。引用此来源:

在页面生成期间,应用程序不会阻止数据包含可由 Web 浏览器执行的内容,例如 JavaScript、HTML 标记、HTML 属性、鼠标事件、Flash、ActiveX 等。

虽然 HTML 主要与注入 HTML 代码有关,如果我浏览OWASP 的这个页面,它会指出 HTML 注入是一种 XSS。引用此来源:

如果这些方法提供了不受信任的输入,那么XSS 的风险很高,特别是 HTML 注入

另一方面,许多消息来源声称 HTML 注入是 XSS 的子集,例如OWASP 的这个页面。引用此来源:

跨站脚本,更广为人知的 XSS,实际上是HTML 注入的一个子集

有消息来源试图解释两者之间的差异,但似乎没有一个是令人满意的答案(而是有争议的)。那么它们到底有什么不同呢?可以将其中一个视为另一个的子集吗?

4

2 回答 2

1

这些来源没有达成共识。在来源相互矛盾的情况下,您必须明确在使用术语时使用的定义。

一些来源似乎将 XSS 解释为 Javascript 注入(12),这类似于 HTML 注入。在此定义下,两者都是互斥的代码注入子集。

其他人会将 XSS 定义为代码注入 ( 3 ),其中 senario HTML 注入是 XSS 的一个子集。

于 2019-07-07T10:22:47.783 回答
0

Xss 与 JavaScript 相关,但我同意它包含 HTML 实体,因此也被认为与 HTML 注入密切相关,但请注意,测试人员使用的有效负载大多仅用于演示目的,不包括漏洞的实际影响,这就是为什么它们甚至不包含太多 JavaScript。此外,一些 HTML 实体对于脱离上下文很重要,但这并不类似于 HTML 注入。

于 2019-07-10T16:24:37.810 回答