mixed content/display——https载入http资源的绕过
2016-03-14 16:34
423 查看
一、问题
本文讲述的内容是针对以下问题:在https网站中,载入http网站的资源(网页、图片等),会被浏览器阻拦的问题。比如以下代码:
<iframe src="http://xxx.com/xxx.asp?param=value" />
如果是在https的页面中插入以下代码,将被浏览器拦截(实测IE、Chrome48、FF44均阻拦),导致param参数无法传递、xxx.asp无法载入的问题。
本文中提到的浏览器,若无特别指出,则IE是指最高IE11、chrome是指48、FF是指44。
二、初步绕过
此问题其实之前已经遇到过,采用https网站自带的外送功能(比如email),将param参数通过邮件发出来。这种解决方法的弊端是只能外送,不能载入资源。需要尝试别的方法。
最开始是在chrome中调试,想到http不行,就试一下ftp。测试了一下,发现chrome真的可以。<iframe src="ftp://user:pass@1.1.1.1/xxx.txt?param=value" />可以正常执行。
但不幸的是,FF和IE都不行。
三、分析
通过FF调试,发现原来有一个“混合的被动内容(Mixed Passive/Display Content)” 和“混合的主动内容(Mixed Active Content)”的概念。前者会被警告,但是仍然能够载入,后者会被直接阻拦。
然后发现一个关键网页:https://developer.mozilla.org/zh-TW/docs/Security/MixedContent。此文介绍了FF关于混合内容的具体处理方式。明确指出只有下述4种才是“被动内容”,link、script、iframe、url方式载入的CSS、js的xmlhttprequest、data属性载入的object等是“主动内容”:
<audio> (src attribute)
<img> (src attribute)
<video> (src attribute)
<object> subresources (when an <object> performs HTTP requests)
进一步发现IE的:https://blogs.msdn.microsoft.com/ie/2011/06/23/internet-explorer-9-security-part-4-protecting-consumers-from-malicious-mixed-content/,大同小异。
再搜,发现W3的:https://www.w3.org/TR/mixed-content/,但没细看。
四、解决
既然img是被动内容,那要不用img的src传送param数据?
其实最开始是因为https的网页默认不载入图片,才使用iframe送参数的,如果采用JS动态载入img呢?
经测试,成功!问题解决。
本文讲述的内容是针对以下问题:在https网站中,载入http网站的资源(网页、图片等),会被浏览器阻拦的问题。比如以下代码:
<iframe src="http://xxx.com/xxx.asp?param=value" />
如果是在https的页面中插入以下代码,将被浏览器拦截(实测IE、Chrome48、FF44均阻拦),导致param参数无法传递、xxx.asp无法载入的问题。
本文中提到的浏览器,若无特别指出,则IE是指最高IE11、chrome是指48、FF是指44。
二、初步绕过
此问题其实之前已经遇到过,采用https网站自带的外送功能(比如email),将param参数通过邮件发出来。这种解决方法的弊端是只能外送,不能载入资源。需要尝试别的方法。
最开始是在chrome中调试,想到http不行,就试一下ftp。测试了一下,发现chrome真的可以。<iframe src="ftp://user:pass@1.1.1.1/xxx.txt?param=value" />可以正常执行。
但不幸的是,FF和IE都不行。
三、分析
通过FF调试,发现原来有一个“混合的被动内容(Mixed Passive/Display Content)” 和“混合的主动内容(Mixed Active Content)”的概念。前者会被警告,但是仍然能够载入,后者会被直接阻拦。
然后发现一个关键网页:https://developer.mozilla.org/zh-TW/docs/Security/MixedContent。此文介绍了FF关于混合内容的具体处理方式。明确指出只有下述4种才是“被动内容”,link、script、iframe、url方式载入的CSS、js的xmlhttprequest、data属性载入的object等是“主动内容”:
<audio> (src attribute)
<img> (src attribute)
<video> (src attribute)
<object> subresources (when an <object> performs HTTP requests)
进一步发现IE的:https://blogs.msdn.microsoft.com/ie/2011/06/23/internet-explorer-9-security-part-4-protecting-consumers-from-malicious-mixed-content/,大同小异。
再搜,发现W3的:https://www.w3.org/TR/mixed-content/,但没细看。
四、解决
既然img是被动内容,那要不用img的src传送param数据?
其实最开始是因为https的网页默认不载入图片,才使用iframe送参数的,如果采用JS动态载入img呢?
经测试,成功!问题解决。
相关文章推荐
- phpwind Exp 漏洞利用
- 常见SQL Server 2000漏洞及其相关利用1
- 简单分析了网马样本
- LNK快捷方式漏洞利用方式 exp制作教程 推荐
- 在浏览器里启用混合内容
- 利用CVE-2017-11882漏洞利用的恶意样本分析
- CVE-2017-11826漏洞利用样本分析
- 利用 NetBIOS 协议名称解析及 WPAD 进行内网渗透
- ms14-068的深入分析
- ms14-068之metasploit应用
- mimikatz.exe的使用
- ms14-068域提权
- MS15-077 HT Windows字体提权0day 源码+exp
- php://filter漏洞利用实例
- 栈溢出利用之DynELF实例
- 栈溢出漏洞利用小结
- Ubuntu 16.04 for pwn
- 初探ROP攻击 Memory Leak & DynELF
- 小白日记19:kali渗透测试之选择和修改EXP
- windows上IPC配置不当利用以及防护