網絡廣告公司的恐慌 XSS廣了結結者(html5新特性)

       人們在平時網絡衝浪的時候,有時候會發現當前網站有不少莫名其妙的廣告,這些廣告會被導向到站外。php

       這些廣告多是你安裝了一些免費網絡軟件後強制安裝的瀏覽器插件致使的。css

       譬如chrome瀏覽器:html

      

        

        致使google顯示以下廣告:html5

        

 

        

 

          Geo Edge插件會向當前頁面引入一個腳本,該腳本會將廣告的DOM插入到頁面任何位置。ajax

 

         插件引入廣告植入腳本:chrome

 

       如今html5出了個  Contnt-Security-Policy特性,只要在response里加上該header,任何外來域名的資源(css、image、js)等都被屏蔽掉:瀏覽器

 

咱們來個測試如何:安全

<?php 
header("Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.baidu.com");
echo <<< EOT
<!DOCTYPE html>
<html >
<head>
    <script>
    var tfx_to={
        createXMLHttpRequest:function(){
                if (window.XMLHttpRequest)
                    {
                        return new XMLHttpRequest();
                    }
                    else if (window.ActiveXObject)
                    {
                        return new ActiveXObject("Microsoft.XMLHttp");
                    }
        },
        post:function(pt,url,callback,sync){
                    var validateResult = function()  
                    {     
                        if(xt.readyState==4)  
                        {  
                            if(xt.status==200)  
                            {   
                                callback(xt.responseText);  
                            }  
                        }  
                    }
                var xt=this.createXMLHttpRequest();
                xt.onreadystatechange=validateResult;
              xt.open("POST", url, sync);
            xt.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
              xt.send(pt);
        }
     }
     function callback(data){
        
         alert(data);
        
     }
     tfx_to.post(null,"http://www.csdn.net",callback,false);
    </script>
</head>
<body>
    <div id="container" style="width: 1888px;  height: 2890px; margin: 0 auto">aaabbba</div>
</body>
</html>
EOT;
?>

 

header("Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.baidu.com");這個header只限制當前Websites的資源域名爲百度
而ajax去call的csdn的域名,看瀏覽器控制檯報錯:

違反了 內容安全策略,該資源無法加載

支持的瀏覽器,綠色部分:網絡

相關文章
相關標籤/搜索