大風起兮云飛揚
比如
file:///D:/soft/develop/env/sites/www.a.com/test.html
代碼片段如下:
......
var xhr=new XMLHttp();
function postURLRet(url, data){
if(xhr) {
xhr.open("POST",url,false);
xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded);
xhr.send(data);
return xhr.responseText;
}
return "";
}
在IE 7里,默認會提示加載不安全activex控件,要求確認
確認以后,就可以跨域了
Firefox 3 沒有這個問題
但是
世上的事情往往出在這個但是上面,
很矬的事情,IE7的本地文件居然可以ajax跨域
,電腦資料
《很矬的事情,IE7的本地文件居然可以ajax跨域》(http://www.msguai.com)。firefox的ietab擴展,則沒有任何安全提示與確認,直接跨域了。
不知道其他以IE為核心的第三方瀏覽器會不會也存在這種問題。
總的看來,IE還是不應該讓本地文件能夠跨域,即便是需要用戶確認,這樣做也是非常不妥的,等于多了一條能夠打破安全模型的路徑,雖然設了個卡子,誰知道哪天不會被繞過去呢。
本地文件跨域如果和其他漏洞結合起來,比如下載任意文件(無執(zhí)行,能預測路徑),威力還是會非常巨大的。
兩個雞肋漏洞相加,可能就變成一個很牛B的漏洞了。