【发布时间】:2011-06-07 20:18:16
【问题描述】:
一家安全公司出人意料地审核了我正在开发的一个 Web 应用程序,并告诉我存在 XSS 漏洞。我真的不知道从哪里开始。
这是 AJAX:
new Form.Observer('filter', 0.5, function(element, value)
{
startLoad('proposals');;
new Ajax.Updater('proposals', 'http://acme.example.dev/stuff/filter',
{
asynchronous:true, evalScripts:true, onComplete:function(request)
{
}, parameters:value + '&authenticity_token=' + encodeURIComponent('base64StringHere')
})
});
【问题讨论】:
-
您使用的是什么网络服务器?有可能你可以在服务器端插入一个 XSS 过滤器。
-
另外,你为什么将 evalScripts 设置为 true?您是否打算执行一些脚本?如果它们可以包含用户输入,则需要对其进行清理。
-
还有一个问题——“提案”中应该包含什么——是纯文本,还是服务器生成 HTML?
-
@Annie:Webrick:这是一个 RoR 应用程序。所以这些东西都是默认设置的。 stopLoad 是一个动画进度的函数。
标签: ruby-on-rails ajax security xss