javascript - XSS(跨站脚本)与 HTML 注入(inject)

标签 javascript html xss html-injections

我们如何准确区分 XSS 和 html 注入(inject)。这两者都属于代码注入(inject),XSS 主要与 Java 脚本相关,但也包括如上所述的其他元素 here on Mitre 。引用自此来源:

During page generation, the application does not prevent the data from containing content that is executable by a web browser, such as JavaScript, HTML tags, HTML attributes, mouse events, Flash, ActiveX, etc.

虽然 HTML 主要与注入(inject) HTML 代码有关,如果我通过 this page of OWASP它指出 HTML 注入(inject)是一种 XSS。引用自此来源:

If these methods are provided with an untrusted input, then there is an high risk of XSS, specifically an HTML injection one.

另一方面,许多消息来源声称 HTML 注入(inject)是 XSS 的子集,例如 this page of OWASP 。引用自此来源:

Cross-site scripting, better known as XSS, is in fact a subset of HTML injection

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

最佳答案

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

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

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

关于javascript - XSS(跨站脚本)与 HTML 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921178/

相关文章:

python - 为什么 python 和我的网络浏览器对同一链接显示不同的代码?

xml - 使用jsonp获取xml跨域

.net - 使用 MS Anti XSS 库清理 HTML

javascript - 不带 RegEX 的 String.Match()

javascript - 从右向左过渡

javascript - 如何将控制台日志的结果保存到数据库?

javascript - 测试 Angular 形式

javascript - 如何取消选择所有 radio 输入?

javascript - 单击按钮时触发图像像素

mysql - 如果用户知道项目的主键 ID,从安全角度来看这是不好的做法吗