CSS劫持攻击

CSS劫持是一种并不很受重视的劫持方式,但是其也有一定的危害,且由于其并不一定需要依赖JavaScript,这使得此种攻击方式更容易实现。

ClickJacking点击劫持

当访问某网站时,利用CSS将攻击者实际想让你点击的页面进行透明化隐藏,然后在页面后显示 一些东西诱导让你点击,点击后则会在用户毫不知情的情况下做了某些操作,这就是点击劫持ClickJacking

iframe覆盖

假如现在我们有个贴吧,想让人关注,可以构造一个钓鱼页面,诱导用户点击,实际上攻击者想要用户点击的关注页面是个透明的,用户如果在网页端登录了贴吧,就会在毫不知情的情况下关注了贴吧,这属于危害较小的情况,若是搭配一些表单诱导用户在页面输入某些敏感信息甚至可以构成财产损失的情况。

<!DOCTYPE HTML>
<html>
<meta content="text/html; charset=utf8" />
<head>
<title>ClickJacking点击劫持</title>
<style>
html,body,iframe{
display: block;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
border:none;
}
iframe{
opacity:0.2;
position:absolute;
z-index:2;
}
div{
display: flex;
justify-content: space-around;
position:absolute;
top: 335px;
left: 310px;
z-index: 1;
width: 300px;
height: 26px;
}
</style>
</head>
<body>
<!-- 例子中的按钮位置是写定的,在不同分辨率下并不一定合适,应该动态确定按钮位置,但是作为一个Demo就不作过多操作了 -->
<div>那些不能说的秘密<button>查看详情</button></div>
<iframe src="https://tieba.baidu.com/f?kw=%E6%96%97%E7%A0%B4%E8%8B%8D%E7%A9%B9%E5%8A%A8%E6%BC%AB"></iframe>
</body>
</html>

防御

X-FRAME-OPTIONS是目前最可靠的方法。

X-FRAME-OPTIONS是微软提出的一个HTTP头,专门用来防御利用iframe嵌套的点击劫持攻击。

DENY // 拒绝任何域加载
SAMEORIGIN // 允许同源域下加载
ALLOW-FROM // 可以定义允许frame加载的页面地址

CSS劫持流量

关于诱导用户点击进入网站的操作,利用CSS劫持也不失为一个好的思路,无论是论坛,还是邮件都有一个富文本编辑器,如果网站并未注意此种攻击方式并特殊处理,便很容易被利用。

将富文本插入一个链接,在正常情况下应该是<a href="xxx"></a>,假如我们为其赋予一个样式,或者将其内部包裹一个字体的样式,将样式设置为display: block;z-index: 100000;position: fixed;top: 0;left: 0;width: 1000000px;height: 100000px;,也是就是让链接作为块级元素充满整个屏幕,则用户无论点击页面中的任何地方都会跳转到你指定的页面,这就将流量劫持到了你的页面,若用户并未注意到url的改变,还可以在跳转的新页面进行钓鱼。

CSS劫持攻击的更多相关文章

  1. 158.Clickjacking点击劫持攻击实现和防御措施

    clickjacking攻击: clickjacking攻击又称为点击劫持攻击,是一种在网页中将恶意代码等隐藏在看似无害的内容(如按钮)之下,并诱使用户点击的手段. clickjacking攻击场景: ...

  2. 基于iframe的CFS(Cross Frame Script)和Clickjacking(点击劫持)攻击

    攻击原理:     CFS攻击(Cross Frame Script(跨框架脚本)攻击)是利用浏览器允许框架(frame)跨站包含其它页面的漏洞,在主框架的代码 中加入scirpt,监视.盗取用户输入 ...

  3. ARP劫持攻击

    今天下午,莫名其妙的产生. 部分客户的网站产生乱码,但本机访问或是好好的. 外网访问,乱码的原文件是一个<IFRAME>网页. 听说,有时ARP攻击是导致网络中断或时断时续. 安全狗和36 ...

  4. 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击

    有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...

  5. 安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御

    本篇继续对于安全性测试话题,结合DVWA进行研习. Session Hijacking用户会话劫持 1. Session和Cookies 这篇严格来说是用户会话劫持诸多情况中的一种,通过会话标识规则来 ...

  6. 前端学HTTP之web攻击技术

    前面的话 简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象.应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标.本文将详细介绍攻击web站点 ...

  7. Web安全之跨站脚本攻击(XSS)

    XSS 简介 跨站脚本攻击,英文全称是 Cross Site Script,本来缩写是CSS,但是为了和层叠样式表(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做&q ...

  8. web攻击之一:XSS跨站脚本

    一.浏览器安全 同源策略 影响源的因素:host,子域名,端口,协议 a.com通过以下代码: <script scr=http://b.com/b.js> 加载了b.com上的b.js, ...

  9. 鸡肋点搭配ClickJacking攻击-获取管理员权限

    作者:jing0102 前言 有一段时间没做测试了,偶尔的时候也会去挖挖洞.本文章要写的东西是我利用ClickJacking拿下管理员权限的测试过程.但在说明过程之前,先带大家了解一下ClickJac ...

随机推荐

  1. Linux下运行命令出现is not in the sudoers file的问题

    原因: 用户没有加入到sudo的配置文件里. 解决方法:  1.切换到root用户,运行visudo命令:  2.找到root ALL=(ALL) ALL,在下面添加一行 xxx  ALL=(ALL) ...

  2. 周鸿祎身价超过刘强东,A股上市的360能让周鸿祎成为中国首富吗?

    不得不说,互联网大佬们的财富波动实在是太大了.股价的上涨或下跌,分分钟就是几亿.几十亿的差别--普通人十辈子都挣不到的钱! 在1月3日,持股比例为23.41%的周鸿手中的股票已经价值880.9亿元,超 ...

  3. 任务框架--Quartz 配置文件

    配置文件 Quartz 有一个叫做quartz.properties的配置文件,它允许你修改框架运行时环境.缺省是使用 Quartz.jar 里面的quartz.properties 文件.你应该创建 ...

  4. C++扬帆远航——11(斐波那契数列)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:Feibo.cpp * 作者:常轩 * 微信公众号:Worldh ...

  5. 【2020Python修炼记3】初识Python,你需要知道哪些(一)

    一.编程语言简介 机器语言 计算机能直接理解的就是二进制指令,所以机器语言就是直接用二进制编程,这意味着机器语言是直接操作硬件的,因此机器语言属于低级语言, 此处的低级指的是底层.贴近计算机硬件(贴近 ...

  6. 一个基于Bootstrap实现的HMTL可视化编辑工具

    疫情禁足在家,用原生的JS实现了一个HTML可视化编辑工具,页面布局基于Bootstrap.大约一个月时间,打通主要技术关卡,实现了第一版:   可以拖放编辑,实现了几乎所有的bootstrap预定义 ...

  7. koa01

    1.koa简介 koa是express团队开发的一个更加轻量级的服务端开发框架,也是未来的趋势 2.安装 npm i -g koa-generator //全局安装koa脚手架 3.创建项目 koa2 ...

  8. 手摸手教你在vue-cli里面使用vuex,以及vuex简介

    写在前面: 这篇文章是在vue-cli里面使用vuex的一个极简demo,附带一些vuex的简单介绍.有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家. 本文首发于我的个人 ...

  9. 关于localStorage面试的那点事

    最近面试的时候关于html5API总会被问到localStorage的问题, 对于一般的问题很简单,无非就是 localStorage.sessionStorage和cookie这三个客户端缓存的区别 ...

  10. d3.js ---画坐标轴

    画坐标轴 //使用d3的svg的axis()方法生成坐标轴 var x_axis = d3.svg.axis().scale(scale_x), y_axis = d3.svg.axis().scal ...