JavaScript,权威指南,第 4 版-于 2001年出版- 更详细地提到了这些。相关部分似乎可以免费获得。它就在该链接的底部。这是摘录:
12.2.5。非标准上下文中的 JavaScript
Netscape 和 Microsoft 都在他们的浏览器中实现了专有扩展,您可能偶尔会在此处描述的上下文之外的上下文中看到 JavaScript 代码。例如,Internet Explorer 允许您在使用特殊和属性的<script>标记中定义事件处理程序。Netscape 4 允许您使用 JavaScript 作为在标记中定义 CSS 样式表的替代语法。Netscape 4 还扩展了 HTML 实体语法并允许 JavaScript 出现在实体中(但只能出现在 HTML 属性的值中)。这可能会导致 HTML 如下所示:forevent<style>
<table border="&{getBorderWidth( )};">
最后,Netscape 4 还支持一种基于这种 JavaScript 实体语法的条件注释形式。请注意,Netscape 6 和它所基于的 Mozilla 浏览器不再支持这些非标准的 JavaScript 使用。
所以这是对典型 HTML 实体语法的滥用——我们&用来生成 & 符号的那种。我不写amp,而是写{alert('oh no')}。
然而,该书提到Netscape 6 - 发布于 2000 年,大约是 IE6 的时代 - 和早期的 Mozilla 浏览器已经采取行动消除这个漏洞。它不太可能存在于最近的浏览器版本中。
如果它曾经影响过 Internet Explorer(甚至一开始都没有提到它允许这样做),我没有关于它在哪个版本不再是可行的 IE 漏洞利用的信息。