疯狂需要启用跨站点脚本

时间:2012-03-22 12:28:12

标签: javascript apache firefox google-chrome xss

是的,我需要为我正在处理的应用程序的内部测试启用跨站点脚本。我会使用Chrome的disable-xss-auditor或disable-web-security开关,但看起来它们不再包含在chrome版本中:

http://src.chromium.org/svn/trunk/src/chrome/common/chrome_switches.cc

我基本上想要实现的是在Apache服务的页面上本地运行的javascript应用程序(也在本地运行)允许从我们网络上另一台服务器上运行的资源运行脚本。

如果没有办法为Firefox,Chrome或我最不喜欢的IE启用xss,那么有没有办法运行某种代理流程来修改标头以允许xss发生?有没有快速的方法来使用Apache mod重写或其他一些这样做?

同样,这仅用于测试。在生产中,所有这些脚本都是从同一台服务器运行的,因此甚至不需要对它们进行签名,但在开发和测试期间,只需要处理您所关注的应用程序部分而不是运行需要全面启动应用程序服务器设置的其余部分。

2 个答案:

答案 0 :(得分:3)

您需要的只是在第一台服务器上运行的小型直通服务,该服务将请求传递到第二台服务器,并返回从第二台服务器返回的结果。

您没有说明您的应用程序的服务器端是用什么语言写的,或者是什么类型的数据传递给您的服务或从您的服务返回,所以我不能比这更具体,但它确实应该是关于用于编写直通服务的15行代码。

答案 1 :(得分:3)

要求的不是跨站点脚本(这是一种安全漏洞,其中用户输入(例如来自URL)以这样的方式注入到页面中,即可以通过以下方式添加第三方脚本链路)。

如果您只想在不同的服务器上运行脚本,那么只需使用绝对URI。

<script src="http://example.com/foo.js"></script>

如果您需要对远程服务器执行Ajax请求,请使用CORS或在当前源上运行代理。

  

同样,这仅用于测试

仅供测试,请查看Charles Proxy。它的Map Remote功能允许您(透明地)将某些请求转发到远程服务器(基于通配符URL匹配)。