点击劫持ClickJacking+HTML5
来源:互联网 发布:淘宝xbox one手柄 编辑:程序博客网 时间:2024/05/18 03:25
学习笔记而已 ~~~~~~~~~~~~~~~~~~~~~~~~~~
点击劫持
是一种视觉上的欺骗手段,攻击者使用一个透明的,不可见的iframe 覆盖在一个网页上,然后诱使用户在该页面点击透明的iframe 网页,通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上
例子:
<!DOCTYPE html><html><head><title>Click</title><style>iframe{width: 2000px;//不可见网页的宽高height: 6000px;position: absolute;top: -5px;left: -440px;z-index: 2;//最顶层但是透明的 -moz-opacity: 0; opacity: 0;filter:alpha(opacity=0);}button{position: absolute;top: 200px; //这是看见的网页的buttonleft: 200px;z-index: 1;width: 500px;}</style></head><body><iframe src="http://www.qidian.com/Default.aspx" scrolling="no"></iframe> <button onclick="alert(1)">you can you up!</button></body></html>
flash 点击劫持,图片覆盖攻击 XSIO
<a href="http://xxx.com.cn"><img src="xxx.jpg" style=postion:absolute;right:320px;top:90px/></a>
还有可以在 手机应用上得到实习价值,
tagjacking~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
防御:
1)禁止跨域的iframe 来防范, frame busting
if(top.location != location){top.location = self.location;}
缺陷 js 代码写的 控制能力并不是特别强
攻陷方法为 嵌套多个 iframe 绕过
<iframe src="xxx1.html">
<iframe src="xxx2.html">
2) X-Frame-Options
DENY 浏览器拒绝当前页面加载任何frame 页面
SAMEORIGN 同域下的页面
ALLOW-FORM origin 允许
HTML5
简要介绍
W3C 制定的新一代 HTML语言的标准。
一些新的标签 会存在XSS攻击的可能<video> <audio>
https://github.com/cure53/H5SC 中有HTML5安全知识一个html工程
新增功能
html5 中为 iframe 定义了一个 sandbox 单独的源,其中的脚本被禁止执行,表单被禁止提交,插件被禁止限制 其功能
<a> <area> 标签定义了一个新的link type noreferrer
<a href = "xxx" rel="noreferrer">test<a> 不再发送referer 保护敏感信息和隐私的考虑
canvas HTML5的最大创新之一。 标签让JS 直接操作图片对象,也可以直接操作像素
开发者甚至可以写小游戏
HTML5 也制定了新的同源标准
www.a.com/test.html ->origin-> www.b.com/test.php
www.a.com/test.html <- access-control-allow-origin<- www.b.com/test.php
跨窗口传递消息:
window.name 来跨窗口,跨域传递消息。
window这个对象几乎不受同源策略的限制的,
HTML5 为了丰富WEB开发者的能力, 新API: postMessage (firefox3 ie8,opera 9)
允许每一个window 包括当前窗口,弹出窗口,iframe等 对象往其他窗口发送文本消息,从而实现跨窗口的消息传递。这个功能也不受同源策略的限制
send:
<!DOCTYPE html><html><iframe src="http://1.hipanda.sinaapp.com/postMessage/receive.html" id="iframe"></iframe><form id="form"><input type="text" id="msg" value="Message To send"/><input type="submit"/></form><script>window.onload = function(){var win = document.getElementById("iframe").contentWindow;document.getElementById("form").onsubmit = function(e){win.postMessage(document.getElementById("msg").value);e.preventDefault();};};</script></html>receive:
<html> <b>receive msg!</b> <div id="test">Send me a message!</div> <script> document.addEventListener("message",function(e){ document.getElementById("test").textContent = e.domain + " said: " + e.data; },false); </script></html>
但是不知道为什么 win.postMessage 执行不成功 是版本问题??
安全问题: 1)验证URL , 2)接受消息写入的地方 要进行检查
Web Storage 非关系型 数据库,Key-Value 对组成
设置一个值: window.sessionStorage.setItem(key,value);
读取一个值: window.sessionStorage.getItem(key);
firefox 好单独实现了一个globalStorage 基于SQLite
1)session storage 关闭浏览器就失效
2)local storage 会一直存在
可以将 XSS PAYLOAD 存储在 WEB STORAGE 中,实现跨域页面攻击
- 点击劫持ClickJacking+HTML5
- web安全 点击劫持 ClickJacking
- 点击劫持(Clickjacking)漏洞技术内幕
- 关于点击劫持(clickjacking)的一些信息
- Web安全之点击劫持(ClickJacking)
- Web安全之点击劫持(ClickJacking)
- JAVA年度安全 第五周 防止“点击劫持”(ClickJacking)
- web安全(3)-- ClickJacking(点击劫持)
- web安全————clickjacking(点击劫持)
- Web服务器点击劫持(ClickJacking)的安全防范
- 基于iframe的CFS(Cross Frame Script)和Clickjacking(点击劫持)攻击
- 点击劫持
- ClickJacking
- 点击劫持和防御
- 网页点击劫持科普
- 点击劫持和图片覆盖劫持
- jquery实现点击劫持代码
- 浅析点击劫持攻击(转载)
- TableViewer双击激活CellEditor
- 用JdbcTemplateTool配合JdbcTemplate实现更便捷的数据库操作
- html中表单使用post方式提交,为什么没有值? get方式可以得到控件的值
- PAT 1030 完美数列(25)
- Java NIO之多个Selector的实现
- 点击劫持ClickJacking+HTML5
- 大数据时代之hadoop(一):hadoop安装
- 博客收集
- chmod 命令详解
- 二路归并排序
- Android布局(控件高度的确定)
- MongoDB基本管理命令
- 数据库索引
- 为Druid监控配置访问权限(配置访问监控信息的用户与密码)