点击劫持漏洞

1、漏洞理解

点击劫持(Click Jacking)是一种视觉上的欺骗手段,攻击者通过使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,通过调整iframe页面的位置,可以使得伪造的页面恰好和iframe里受害页面里一些功能重合(按钮),以达到窃取用户信息或者劫持用户操作的目的。

Clickjacking是仅此于XSS和CSRF的前端漏洞,因为需要诱使用户交互,攻击成本高,所以不被重视,但危害不容小觑,攻击效果见案例。

2、漏洞原理

  对于漏洞的防范大部分浏览器支持的防御办法是使用X-Frame-Options头,通常设置为DENY可以很好地防范漏洞,其次SAMEORIGIN可以在某个页面失守时被绕过,ALLOW-FROM uri不被Chrome支持。其次还有CSP头:Content-Security-Policy: frame-ancestors 'self'仅支持FireFox。

   也就是说,如果发现系统没有设置上述头,大概率存在ClickJacking漏洞,测试方法很简单,本地构造一个HTML文件,使用iframe包含此页面:

在这里插入图片描述

 

 

若返回拒绝请求,则不存在问题,控制台提示已设置X-Frame头故引用网站失败:

在这里插入图片描述

在这里插入图片描述

 

3、漏洞防御

  主要有三种防御办法:

1)X-Frame-Options,建议设置为DENY;

2)Content-Security-Policy:frame-ancestors 'self'或‘none’,不适用于Safari和IE;

3)js层面:使用iframe的sandbox属性,判断当前页面是否被其他页面嵌套。

  当前最推荐的方案是1和3结合防御,深入了解可以阅读原文,下载斯坦福大学对此漏洞的研究论文。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Gitee 上使用 GPG公钥(Beta版)

Windows 下载 https://gpg4win.org/ 生成 GPG Key 选择免费版的下载,无脑安装即可。 安装成功打开文件。 新建文件,创建个人密钥对,点击确认 输入码云的用户名及邮箱,一定要对应 输入完成可能需要输入或者创建密码,使…

javafx 值对_我今天对JavaFX的了解

javafx 值对如果您还没有听说过,JavaFX 2是Java的新Desktop / web / client框架。 自JavaFX 1以来,它已经进行了相当大的改动(坦率地说,效果不那么令人印象深刻)。 自定义脚本语言已经淘汰了,您可以使用标准…

Microsoft Windows MHTML脚本代码注入漏洞 (MS11-026) (CVE-2011-0096)

一、基本情况 漏洞级别:中危 漏洞类别:session操纵漏洞 二、问题描述 ApacheTomcat默认安装页面中存在examples样例目录。里面存放着Servlets、JSP、WebSocket的一些服务脚本和接口等样例。Servletsexamples服务样例下存在一个session的样例。该样例可…

我是如何解决gitlab 命令行上传需要输密码

使用如下两个命令得到pub文件内容,复制粘贴。 把上面得ssh-rsa后面一大串复制过来即可。 重新push代码。

android应用的界面编程----View与ViewGroup的概念

1 UI OverView Android中所有的UI元素都是通过View与ViewGroup来构建的,View是指屏幕中一块可与用户进行交互的空白,类似于java界面编程中的JPanel。为了界面布局,A Group对象可以包含多个View或ViewGroup(由于ViewGroup是View的子…

比较散列策略

总览 编年史有许多用于哈希的实现,包括City和Murmur。 它也有自己的香草哈希,但是如何进行测试? 什么是香草哈希? Vanilla Hash设计得尽可能简单,并且针对Orthogonal Bits测试进行了优化(请参见下文&#…

心脏滴血漏洞详解及利用--HeartBleed With OpenSSL

【事件规则】 OpenSSL“心脏出血”漏洞是一个非常严重的问题。这个漏洞使攻击者能够从内存中读取多达64 KB的数据。也就是说,只要有这个漏洞的存在,在无需任何特权信息或身份验证的环境下,我们就可以从我们自己的(测试机上&#…

npm ERR! the command again as root/Administrator

以管理员身份运行。 顺便测试一下git bash和cmd安装nmp intall,测试他们之间的关系,发现git bash应该比cmd命令更丰富一点,推荐使用git bash.

Nmap常用命令

1、扫描单个目标地址: Nmap 192.168.128.30 2、扫描多个目标地: Nmap 192.168.128.130 192.168.128.129 3、扫描一个范围内的目标地址: Nmap 192.168.128.129-130 4、扫描目标地址所在的某个网段 Nmap 192.168.128.130/24 5、扫描主机列表1.t…

解决tableViewCell分割线不到左边界的问题

12345678910111213141516171819202122232425262728在tableView控制器的.m文件中任何位置加入以下两个方法即可解决/*** 下面两个方法解决cell分割线不到左边界的问题*/-(void)viewDidLayoutSubviews {if ([self.tableView respondsToSelector:selector(setSeparatorInset:)]) …

javaScript学习笔记总结(一)

javaScript教程 JavaScript 是 Web 的编程语言。 所有现代的 HTML 页面都使用 JavaScript。 JavaScript 一直在升级,所以我们需要时刻了解 JavaScript 的新技术。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>…

vaadin_Vaadin应用程序中的EJB查找

vaadin自从我实现上一个服务定位器以来已经有很长时间了。 考虑到Java EE CDI &#xff08;上下文和依赖注入&#xff09;的成熟度&#xff0c;我认为不再需要。 我的第一个实现是在基于Struts的Web应用程序中使用EJB。 之后&#xff0c;我开始使用JSF&#xff0c;它只需要带有…

host碰撞漏洞

一、host碰撞原理环境搭建 在虚拟机下搭建Nginx环境配置&#xff08;192.168.202.128&#xff09; 1. 设置一个server为ip访问时返回400 2. 设置一个sever为访问某个域名时

servlet中访问mysql无法包含中文的解决

最近写servlet应用发现&#xff0c;如果我的sql语句中包含英文&#xff0c;访问数据库就失败&#xff0c;而我数据库的编码是utf8 -- UTF-8 Unicode&#xff0c;而我servlet的字符也已经转为UTF-8 &#xff0c;还是不行。 后来多方打听&#xff0c;终于解决了这个问题&#xff…

uniapp框架之如何修改接口传参的参数

大家好&#xff0c;我是孙叫兽&#xff0c;uniapp技术交流群&#xff1a;1149933135 项目采用uniappuView开发&#xff1b; uiapp官方文档&#xff1a;https://uniapp.dcloud.io/ uview官方文档&#xff1a;http://uviewui.com/components/intro.html 谷歌浏览器扩展插件Header…

在Java 8中进行投射(还有其他功能?)

将实例转换为设计不良的类型。 尽管如此&#xff0c;在某些情况下没有其他选择。 从第一天开始&#xff0c;这种能力就已经成为Java的一部分。 我认为Java 8提出了对这种古老技术稍加改进的需求。 静态铸造 用Java进行转换的最常见方法如下&#xff1a; 静态铸造 Object ob…

windows查看文件的md5值

1、winr 输入cmd进入控制界面 2、certutil -hashfile XXXX md5(XXXX为绝对路径) Linux下查看文件md5值&#xff1a; 进入文件目录&#xff0c;使用md5sum加文件名&#xff0c;例如md5sum test.txt

mysql字符串分割函数(行转列)

由于工作需要需要处理一些以逗号分隔的字符串&#xff0c;每次都要现做很是麻烦&#xff0c;网上找了很多都没有现成的&#xff0c;好吧&#xff0c;自己动手写一个好了 1 CREATE DEFINER harri% FUNCTION str_for_substr(num int, str varchar(5000))2 RETURNS varchar(100)…

如何使用window.btoa base64对接口数组进行加密处理

大家好&#xff0c;我是孙叫兽&#xff0c;前端全栈工程师&#xff0c;uniapp技术交流群&#xff1a;1149933135 项目采用uniappuView开发&#xff1b; uiapp官方文档&#xff1a;https://uniapp.dcloud.io/ uview官方文档&#xff1a;http://uviewui.com/components/intro.htm…