【问题标题】:How do I know if my AJAX request is vulnerable to XSS?我如何知道我的 AJAX 请求是否容易受到 XSS 攻击?
【发布时间】: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


【解决方案1】:

很难确定如何追踪漏洞,因为不清楚您的页面显示的用户输入是什么。由于您使用的是 RoR,因此最好的起点可能是 XSS section of the RoR security guide

您也可以尝试运行像 skipfish 这样的扫描仪。它将尝试自动检测 XSS 和其他安全漏洞,如果发现它们,它将为您提供一些详细信息和文档以帮助解决问题。

【讨论】:

猜你喜欢
  • 2015-12-31
  • 2016-04-29
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 2015-06-08
相关资源
最近更新 更多