我们如何准确区分 XSS 和 html 注入。这两者都属于代码注入,XSS 主要与 Java Script 相关,但也包括其他其他元素,如Mitre中所述。引用此来源:
在页面生成期间,应用程序不会阻止数据包含可由 Web 浏览器执行的内容,例如 JavaScript、HTML 标记、HTML 属性、鼠标事件、Flash、ActiveX 等。
虽然 HTML 主要与注入 HTML 代码有关,如果我浏览OWASP 的这个页面,它会指出 HTML 注入是一种 XSS。引用此来源:
如果这些方法提供了不受信任的输入,那么XSS 的风险很高,特别是 HTML 注入。
另一方面,许多消息来源声称 HTML 注入是 XSS 的子集,例如OWASP 的这个页面。引用此来源:
跨站脚本,更广为人知的 XSS,实际上是HTML 注入的一个子集
有消息来源试图解释两者之间的差异,但似乎没有一个是令人满意的答案(而是有争议的)。那么它们到底有什么不同呢?可以将其中一个视为另一个的子集吗?