【问题标题】:Client Cross Frame Scripting Attack resolution客户端跨帧脚本攻击解决
【发布时间】:2015-01-05 15:31:06
【问题描述】:

我们开发了一个新应用程序,在移动更改之前,我们使用 checkmarx 对代码进行了静态扫描。 在名为 Client Cross Frame Scripting Attack 的代码中发现了一个中等级别的漏洞。

这是在 JSP 页面的第一行发现的:

<!DOCTYPE html>

能否请您帮我了解一下这种攻击以及应该采取什么措施来消除这种攻击?

【问题讨论】:

标签: java jsp security xss client-side-attacks


【解决方案1】:

只需在您的 HTML 文件中添加以下代码。

<style id='antiClickjack'>
    body{display:none !important;}
</style>

<script type='text/javascript'>
    if (self === top) {
    var antiClickjack = document.getElementById('antiClickjack');
    antiClickjack.parentNode.removeChild(antiClickjack);
    } else {
    top.location = self.location;
    }
</script>

【讨论】:

    【解决方案2】:

    Client Cross Site Scripting Attack 查询查找页面是否保护自己不被嵌入到 IFrame 中。它搜索条件,例如:

     if (top != self)
     if (top.location != location)
     if (top.frames.length != 0)
    

    等等。

    我相信这个特定的文件没有这样的条件,所以它很可能不会保护自己,这就是查询找到并标记它的原因。由于我们在这里查找缺少的行,因此结果仅显示文件,而无法显示问题所在。

    希望对你有帮助,

    来自Checkmarx的Adar。

    【讨论】:

      【解决方案3】:

      要更深入地了解这个问题,并实际解决跨框架脚本问题,请查看https://css-tricks.com/snippets/javascript/break-out-of-iframe/

      基本上把它扔到你的最父级布局文件中(C# MVC 中的_Layout.cshtml)

              (function (window) { // Prevent Cross-Frame Scripting attacks
                  if (window.location !== window.top.location)
                      window.top.location = window.location;
              })(this);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-12
        • 1970-01-01
        • 2011-05-19
        • 2015-04-01
        • 2011-09-07
        • 2021-06-04
        • 2010-10-07
        • 2011-10-24
        相关资源
        最近更新 更多