禁用 urlbar 过滤器 - Firefox 28
Disable urlbar filter - Firefox 28
我想在 Firefox ver. 上演示 DOM "Local" 基于跨站脚本。 28.
我在 index.php
上有这个脚本
<SCRIPT>
var pos=document.URL.indexOf("jmeno=")+6;
document.write(document.URL.substring(pos,document.URL.length));
</SCRIPT>
我想通过打开 URL
运行 XSS
www.mydomain.com/index.php?jmeno=<script>alert(document.cookie)</script>
在 IE11 中,我只需在安全设置中禁用 XSS 过滤器,脚本就可以正常工作。
Altrought 在 Firefox 中有一个解决方案,方法是 禁用 这个过滤器:browser.urlbar.filter.javascript
in about:config
。此解决方案无效。脚本总是被转义。
有什么解决方案可以让这个脚本在 Firefox 中运行吗?
browser.urlbar.filter.javascript
不会尝试从输入的 URL 中过滤数据,它不是 IE 误导的反 XSS 过滤器的类似物。它只是在历史查找中显示javascript:
URLs,与这里无关。
您的示例 URL 在任何浏览器中都不适合我,因为字符 <
和 >
根本无法包含在 URL 中。当您输入它们时,浏览器会自动将它们更正为 URL 编码版本 %3C
和 %3E
。因此,当您访问 location.href
时,您会得到一个带有 % 编码尖括号的 URL。使用简单的字符串切片处理它会留下编码版本,因此标签不会被解析。
对提取的子字符串调用 decodeURIComponent()
会使该示例正确易受攻击(!)。 (尽管通常可靠地提取查询参数有点复杂。)
我想在 Firefox ver. 上演示 DOM "Local" 基于跨站脚本。 28.
我在 index.php
上有这个脚本<SCRIPT>
var pos=document.URL.indexOf("jmeno=")+6;
document.write(document.URL.substring(pos,document.URL.length));
</SCRIPT>
我想通过打开 URL
运行 XSSwww.mydomain.com/index.php?jmeno=<script>alert(document.cookie)</script>
在 IE11 中,我只需在安全设置中禁用 XSS 过滤器,脚本就可以正常工作。
Altrought 在 Firefox 中有一个解决方案,方法是 禁用 这个过滤器:browser.urlbar.filter.javascript
in about:config
。此解决方案无效。脚本总是被转义。
有什么解决方案可以让这个脚本在 Firefox 中运行吗?
browser.urlbar.filter.javascript
不会尝试从输入的 URL 中过滤数据,它不是 IE 误导的反 XSS 过滤器的类似物。它只是在历史查找中显示javascript:
URLs,与这里无关。
您的示例 URL 在任何浏览器中都不适合我,因为字符 <
和 >
根本无法包含在 URL 中。当您输入它们时,浏览器会自动将它们更正为 URL 编码版本 %3C
和 %3E
。因此,当您访问 location.href
时,您会得到一个带有 % 编码尖括号的 URL。使用简单的字符串切片处理它会留下编码版本,因此标签不会被解析。
对提取的子字符串调用 decodeURIComponent()
会使该示例正确易受攻击(!)。 (尽管通常可靠地提取查询参数有点复杂。)