MITM

用户在访问http页面的时候,会打开http连接而http连接有可能会被窃听,因此存在MITM(man-in-the-middle)攻击。

https协议提供的内容和会话信息可以被ssl加密因此可以防止MITM攻击。然而有些https页面中会包含http的内容(mixed content),这种情况下页面中只有一部分内容被加密(http服务器提供的内容是未加密的)。其中一部分的http内容会被浏览器block掉(为了防止MITM攻击)。

 

Mixed Content 分类

Mixed passive Content(a.k.a. Mixed Display Content)

Mixed passive Content 是一些静态资源(比如图片,音乐,视频)。如果用户在访问一张图片,攻击者会拦截http请求或响应,然后把图片替换掉,或者返回给用户一些误导信息。或者攻击者会根据http请求的header来获取其中的user agent信息以及cookie信息,如果图片和https页面在同一个域,那么攻击者就可以用这些信息来模拟用户请求https的资源,https就失去作用了。

 

Mixed Active Content(a.k.a. Mixed Script Content)

这些是可以操作DOM的动态脚本,包括Javascript, CSS, objects, xhr requests, iframes。这种情况下,攻击者可以拦截改写http响应,往http响应中注入脚本来窃取form表单的数据(比如用户名,密码),或者往响应中注入恶意插件。

 

所以当页面包含Mixed Content 时,浏览器默认会block掉部分内容(for security)。console会提示Mixed Content: The page at 'https://***' was loaded over HTTPS, but requested an insecure image 'http://****'. This content should also be served over HTTPS.

 

如果需要在https网站的页面中嵌入http服务器的图片或者页面,可以使用反向代理服务器,用https协议来代理http服务器

posted @ 2016-01-12 15:01  Super猪  阅读(907)  评论(0编辑  收藏  举报