美文网首页Web安全
ClickJacking Attack

ClickJacking Attack

作者: 六亲不认的步伐 | 来源:发表于2020-04-06 23:18 被阅读0次

    点击劫持利用


    基本利用原理:主要是利用web页面的html+css来进行实现,通过将真正的网站降低透明度等方法,在视觉的角度上不容易察觉,进行的一个容易实现的利用手法。

    1. 通过frame标签利用

    为了进行说明,自己进行代码简易实现,整改原理效果,使用了html+bootstrap进行简单开发

    首先是正常页的开发效果展示,以本人某次参加的CTF结果来进行展示原始页面。

    正常结果展示页面
    同时附上自己的源代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet" href="./css/bootstrap.min.css">
        <script src="./js/bootstrap.js"></script>
        <style>
            h2{
                color: red;
            }
           p{
                color: white;  
            }
        </style>
    </head>
    <body>
        <h2 class="text-center">Click Jack Attack platform</h2>
        <p class="text-right">--by Sccc</p>
        <hr/>
        <h3 class="bg-primary text-center">Css Using : bootstrap</h3>
        <h3 class="bg-success text-center">Author:Sccc</h3>
        <h3 class="bg-info text-center">Email:3300744526@qq.com</h3>
        <h3 class="bg-warning text-center">Date:2020.04.06</h3>
        <a href="https://baike.baidu.com/item/ctf/9548546"><img src="./CTF.png" alt="Hello,Guest" class="img-rounded"></a>
    </body>
    </html>
    

    审查代码容易发现,点击图片会跳转至CTF (夺旗赛)页面,这是业务的正常需求
    其次添加恶意页面使用html5中的iframe标签,添加链接为clickjacking
    效果如下

    嵌入恶意页面
    最后隐藏恶意页面(降低页面透明度为0,显示原始正常页面,同时调整两个标签直接的垂直优先级)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet" href="./css/bootstrap.min.css">
        <script src="./js/bootstrap.js"></script>
        <style>
            h2{
                color: red;
            }
            img{
                opacity: 100%;
                z-index: -1;
            }
            iframe{
                position:absolute;
                top:20;
                left: 0;
                height: 100%;
                width: 100%;
                opacity: 0%;
            }
        </style>
    </head>
    <body>
        <h2 class="text-center">Click Jack Attack platform</h2>
        <hr/>
        <h3 class="bg-primary text-center">Css Using : bootstrap</h3>
        <h3 class="bg-success text-center">Author:Sccc</h3>
        <h3 class="bg-info text-center">Email:3300744526@qq.com</h3>
        <h3 class="bg-warning text-center">Date:2020.04.06</h3>
        <a href="https://baike.baidu.com/item/ctf/9548546"><img src="./CTF.png" alt="Hello,Guest" class="img-rounded"></a>
        <iframe src="https://baike.baidu.com/item/clickjacking/6910124?fromtitle=%E7%82%B9%E5%87%BB%E5%8A%AB%E6%8C%81&fromid=6742958"></iframe>
    </body>
    </html>
    

    点击页面图片位置,不再会跳转至CTF介绍页面,而跳转至clickjacking页面,成功进行了劫持。

    效果查看方法:将iframe标签的属性值opacity: 0%;调至50%更有利于观察

    2.代码审计的关键部分

    注意观察几个重要的地方
    html主要观察是否存在<a> <iframe>这些能够嵌入,跳转等标签
    css主要观察opacity z-index position等能够使html标签进行位置,透明度,页面垂直优先级变化等关键css修饰词


    3.攻击利用

    可以结合 CSRF 漏洞,进行客户端跨站请求伪造攻击。
    可以结合 XSS 漏洞,进行js恶意代码执行,cookie盗取等。
    可以结合 钓鱼攻击,构造钓鱼页面结合点击劫持进行攻击。


    4. 攻击防御

    4-1 : Server defence

    X-FRAME-OPTIONS报文头参数指定为DENY : 禁止iframe标签 SAMEORIGIN:同源访问
    FrameBusting Coding : 检测代码进行防御 FrameBusting
    User authentication code :使用用户认证码来进行对访问用户的认证

    4-2: Client(Browser) defence

    Update Browser :浏览器更新
    Plug-in installation :Firefox 浏览器提供了插件安装,可以安装相关插件例如 NoScript来进行避免
    F12 : 通过F12快捷键来对当前页面的代码进行审计,配合使用Ctrl+F效果更加


    5.参考文献

    Busting Frame Busting:a Study of Clickjacking Vulnerabilities on Popular Sites[J] ---- Gustav Rydstedt, Elie Bursztein, Dan Boneh 2010 July p1-p13

    6. 彩蛋

    其实自己在第一个代码页面中,也利用视觉问题,进行简单水印添加,通过F12审计可以查找到


    利用css视觉问题,添加简单水印

    相关文章

      网友评论

        本文标题:ClickJacking Attack

        本文链接:https://www.haomeiwen.com/subject/mhaiphtx.html