• 漏洞挖掘 | 点击劫持


    点击劫持(X-Frame-Options未设置)

    漏洞描述

    点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上,攻击者常常配合社工手段完成攻击。如果Web应用服务器未设置X-Frame-Options,程序页面可能被嵌入到其他网页中,被恶意用户利用可能发起钓鱼攻击或欺骗其他用户。

    风险等级

    漏洞测试

    直接访问Web应用根目录,然后抓包查看HTTP响应头中是否存在X-Frame-Options头信息。

    Click-Jacking POC

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
        <title>Click-Jacking</title>
    </head>
    <body>
        <iframe src="http://www.xxx.com/" width="1000" height="1000" scrolling="no"></iframe>
    </body>
    </html>
    

    漏洞危害

    攻击者利用Frame框架可使网页嵌入到其他网站中,用于对其他用户进行欺骗或钓鱼攻击。

    修复建议

    X-Frame-Options需要在HTTP响应头中进行设置, X-Frame-Options 有三个可选的值:

    • DENY:浏览器拒绝当前页面加载任何Frame页面;
    • SAMEORIGIN:Frame页面的地址只能为同源域名下的页面;
    • ALLOW-FROM:允许frame加载的页面地址。

    Java代码在Filter拦截器的响应里面增加:

    response.addHeader("x-frame-options","SAMEORIGIN");
    

    Nginx添加如下配置到 “http”或“server” 或“location”的配置中:

    add_header X-Frame-Options SAMEORIGIN
    

    Apache配置:

    Header always append X-Frame-Options SAMEORIGIN
    

    IIS添加如下配置到Web.config中:

    <system.webServer>
      ...
      <httpProtocol>
        <customHeaders>
          <add name="X-Frame-Options" value="SAMEORIGIN" />
        </customHeaders>
      </httpProtocol>
      ...
    </system.webServer>
    
    每一个不曾起舞的日子 都是对生命的辜负
  • 相关阅读:
    c#数组
    微软原版SQL Helper
    CROSS APPLY和 OUTER APPLY 区别详解
    Excel 开发备忘
    ZPL打印机公用代码
    SQL SERVER 索引维护
    C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
    ZPL打印机命令解释
    在x64平台上调试依赖于x86的WCF服务
    SQL 行转列的两种做法
  • 原文地址:https://www.cnblogs.com/wlfsky/p/10570569.html
Copyright © 2020-2023  润新知