当前位置:   article > 正文

点击劫持_burp测试x-frame-options问题

burp测试x-frame-options问题

点击劫持(clickjacking)

点击劫持是指在一个Web页面下隐藏了一个透明的iframe(opacity:0),用外层假页面诱导用户点击,实际上是在隐藏的frame上触发了点击事件进行一些用户不知情的操作

将iframe页面透明度调至最透明,将看不到iframe页面

在这里插入图片描述
但其实页面是这样的

在这里插入图片描述

在登录页面输入其实内容被输入到了iframe页面

在这里插入图片描述
代码
在这里插入图片描述


危害

  1. 盗取用户资金
  2. 获得用户的敏感信息
  3. 与XSS或CSRF等其他攻击手段配合

检验是否有点击劫持

burp抓包,查看是否有X-Frame-Options;若有证明无点击劫持

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 < frame >, < /iframe > 或者 < object > 中展现的标记
网站可以使用此功能,来确保自己网站的内容没有被嵌套到别人的网站中去,也从而避免了点击劫持的攻击

X-Frame-Options三个参数:

  1. DENY 表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许

  2. SAMEORIGIN 表示该页面可以在相同域名页面的frame中展示

  3. ALLOW-FROM uri 表示该页面可以在指定来源的frame中展示

换一句话说,如果设置为DENY,不光在别人的网站frame嵌入时会无法加载,在同域名页面中同样会无法加载
另一方面,如果设置为SAMEORIGIN,那么页面就可以在同域名页面的frame中嵌套
正常情况下我们通常使用SAMEORIGIN参数


防御手段

  1. Javascript中禁止内嵌
    因为普通页面的top对象为window,而iframe的top对象不等于window对象
    这样如果存在嵌套的iframe,页面就会进行跳转,避免的点击劫持
    但是这种防御方式并不完善,如果攻击者设置ifame的属性sandbox=“allow-forms” 时防御就失效。
   JS代码:
    if (top.location !== window.location){
        top.location == window.location
    }
  • 1
  • 2
  • 3
  • 4
  1. X-FRAME-OPTIONS 防止内嵌
    服务器端可设置HTTP头 "X-Frame-Options:DENY"来让浏览器主动禁止iframe内嵌
    不过这种方式在HTTP中不可靠,黑客可以窃听篡改HTTP请求来修改HTTP头。

  2. 对于Firefox的用户,使用 NoScript 扩展
    NoScript 能够在一定程度上检测和阻止点击劫持攻击。

  3. 其他辅助手段
    如XSS和CSRF的防御方法,也可以防御点击劫持后对服务器端的攻击

          雪碧可乐_2020/7/23_22:49
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/519629
推荐阅读
相关标签
  

闽ICP备14008679号