Javascript 从本地文件系统上托管的文件启用XSS

Javascript 从本地文件系统上托管的文件启用XSS,javascript,browser,xss,cross-domain,Javascript,Browser,Xss,Cross Domain,我的文件系统中有一个正在开发的移动应用程序的HTML和JavaScript文件。当应用程序部署到移动设备时,这些文件将托管在本地文件系统上,其中XSS from file://。该应用程序的一个重要部分是向RESTful API发送XHR POST请求 如果发出请求的文件托管在本地文件系统上,而不是部署到web服务器上,那么XSS似乎不应该成为浏览器的安全问题 有人知道浏览器扩展或配置更改会从本地文件系统上托管的文件启用XSS吗?嗯,虽然您必须稍微更改服务器和客户端代码,但它不是很干净,您必须信

我的文件系统中有一个正在开发的移动应用程序的HTML和JavaScript文件。当应用程序部署到移动设备时,这些文件将托管在本地文件系统上,其中XSS from file://。该应用程序的一个重要部分是向RESTful API发送XHR POST请求

如果发出请求的文件托管在本地文件系统上,而不是部署到web服务器上,那么XSS似乎不应该成为浏览器的安全问题


有人知道浏览器扩展或配置更改会从本地文件系统上托管的文件启用XSS吗?

嗯,虽然您必须稍微更改服务器和客户端代码,但它不是很干净,您必须信任服务器,您可以将数据作为javascript加载,javascript包含对页面中函数的调用和一个大字符串,或者作为参数。这似乎是一个很好的例子


或者,您可以从本地Web服务器提供文件,并摆弄和。

我发现了一个有用的链接,可以帮助我执行从本地主机到另一个域的POST请求。它是一个允许XSS从托管在localhost的文件中访问的工具。它并不完美,但它帮助我开发了这个东西。

我正在使用JSONP处理get请求。但这不适用于POST请求。我相信document.domain是只读的。我试图避免将我的API设置为本地服务器,并将我的html/js文件部署到同一个域中。。。我可以部署一个本地web服务器,然后静态地提供我的文件,然后将hosts文件更改为127.0.0.1指向与我试图发布到的API相同的主机名。@Matthew Taylor:您可以将本地提供的文件指定为域
local.implementInstallation.com
(在hostsfile中)而实际服务器位于域
实现安装.com
。然后在本地提供的文件中设置
document.domain=“implementInstallation.com”
。因此,我尝试了在本地服务器上托管文件的方法,并将我的主机文件更改为127.0.0.1指向local.example.com。但是,我无法更改document.domain,因为它是只读的。但我认为它可能会工作,因为我将发布到api.example.com,但我仍然得到相同的XSS错误:XMLHttpRequest无法加载。访问控制不允许原点允许原点。我想子域不算同一个来源:我愿意使用任何有帮助的浏览器。我是F2E,所以我使用很多浏览器