乌云白帽大会笔记
2016-07-09 23:52
288 查看
发信息“postMessage”方法
otherWindow.postMessage(message, targetOrigin);
otherWindow:指目标窗口,也就是给哪个window发信息,是window.frames 属性
window.open 方法创建的窗口
PostMessage
需要特别严谨验证:输入,origin
如:验证domain 是不是等于 “http://xxxxx.com”的 -》
popUp = window.open(domain+'其他路径',‘myWindow’); popUp.postMessage(message.domain);
然后建立监听事件:
window.addEventListener('xxx', function(event){ if(event.origin !== domain) return; ...... },false)
https的站不建议使用onmessage
不要相信任何人给发的链接
接受信息的 onmessage 事件
data: 信息origin: 信息来源地址
source: 源DOMWindow 对象
var onmessage = function (event) { var data = event.data; var origin = event.origin; } if (typeof window.addEventListener != 'undefined') { window.addEventListener('message', onmessage, false); }else if (typeof window.attachEvent != 'undefined') { window.attachEvent('onmessage', onmessage); }
空referer或JS的URL跳转漏洞会绕过白名单referer限制
window.open 到iframe里的时候,浏览器popup blocker不会提示
origin校验可能会不严谨:indexOf(“www.wooyun.org” ) !=-1
RegExp(“^http://www.wooyun.org$“) 这里的点可以表示任意字符
Ref:来自 乌云著名段子手—— 呆子不开口
相关文章推荐
- 用calibre抓取乌云知识库并生成电子书
- 学习Python到写poc其实没那么难
- 网站优化不等于搜索引擎优化
- Tomcat 远程代码执行漏洞分析(CVE-2017-12615)及补丁 Bypass
- 记录一次乌云漏洞裤搭建过程
- 离线乌云漏洞详情vs知识库
- wuyun知识库目录
- 乌云漏洞库/知识库离线下载
- php5.6, php7 on ubuntu14 via phpbrew
- 深拷贝和浅拷贝:strong与 copy 区别
- android Fragments详解五:与activity通讯
- 欢迎使用CSDN-markdown编辑器
- Lingo语法
- shell中的特殊符号总结
- 随手记之多分辨率布局
- Hadoop实战——Hadoop架构思想、伪分布式无密登陆部署
- iOS 遮罩(mask)效果
- java微信分享config:invalid signature,自定义右上角菜单(只保留分享给好友和朋友圈)
- Maven实战:用maven来创建项目(用已有项目模板来创建项目)
- android 自定义View(3)圆形View 加速条