網(wǎng)站檢測(cè)提示的“Flash配置不當(dāng)”是什么漏洞? 360網(wǎng)站安全檢測(cè)
電腦知識(shí) 由土鳳凰供稿360站長(zhǎng)平臺(tái)中有一個(gè)工具是“官網(wǎng)直達(dá)”,通過(guò)申請(qǐng)可以使你的網(wǎng)站在360搜索結(jié)果中加上“官網(wǎng)”字樣的標(biāo)識(shí),百度也有這樣的工具,不過(guò)是收費(fèi)的,所以趁著360還沒(méi)收費(fèi),有興趣的朋友可以為自己的網(wǎng)站申請(qǐng)一下,申請(qǐng)這項(xiàng)服務(wù)有三個(gè)基本要求:ICP備案、符合法律法規(guī)、網(wǎng)站安全檢測(cè)。前兩項(xiàng)要求基本大部分網(wǎng)站都符合要求,我今天就卡在了第三項(xiàng)網(wǎng)站安全檢測(cè)上,無(wú)法通過(guò)審核。
我的網(wǎng)站使用的是Discuz論壇程序,360網(wǎng)站安全檢測(cè)的評(píng)分是85分,出現(xiàn)的唯一一個(gè)警告信息是“Flash配置不當(dāng)”的漏洞,查看了一下360官方給出的此漏洞危害:
可被用來(lái)進(jìn)行跨域訪問(wèn),可能會(huì)導(dǎo)致“跨站點(diǎn)偽造請(qǐng)求”或“跨站點(diǎn)跟蹤”(“跨站點(diǎn)腳本編制”的變體)之類(lèi)的攻擊,從而導(dǎo)致其它用戶(hù)的信息被非法讀取。
這個(gè)漏洞的解決方法很簡(jiǎn)單——調(diào)整Flash跨域安全策略,F(xiàn)lash跨域策略文件是crossdomain.xml,如果是Discuz程序的話,這個(gè)文件就在Discuz的根目錄中,我們只需要將這個(gè)文件用記事本打開(kāi),將domain="*"中的"*"修改為你的網(wǎng)站域名即可,域名前不要加http://,如本站就是inspiredelm.com。
解決方法就是這么簡(jiǎn)單,如果你只是為了解決這個(gè)警告信息的話,到這里就可以不用再往下看了,因?yàn)閱?wèn)題已經(jīng)解決了,但如果你對(duì)網(wǎng)絡(luò)技術(shù)感興趣的話,可以繼續(xù)往下面看。因?yàn)槲矣X(jué)得還是有必要和各位網(wǎng)絡(luò)技術(shù)愛(ài)好者介紹一下crossdomain.xml這個(gè)策略文件。
以Discuz論壇程序的crossdomain.xml文件為例,我們看到其中有四行代碼:
1.<?xml version="1.0"?>
2.<cross-domain-policy>
3. <allow-access-from domain="*" />
4.</cross-domain-policy>
為了方便介紹,我在每句代碼前面加了序號(hào),第一句是最簡(jiǎn)單的,首先聲明xml版本,第二句和第四句是一個(gè)完整的開(kāi)合標(biāo)簽,稍微有點(diǎn)HTML基礎(chǔ)的朋友都清楚這一點(diǎn)。cross-domain-policy是跨域策略中必須的一個(gè)節(jié)點(diǎn),也是這個(gè)文件中固定的格式,通過(guò)這三個(gè)英文單詞的意思我們也可以理解cross-domain-policy的意思,其中cross domain可以理解為跨域,policy在這里是策略的意思。整個(gè)文件中最重要的策略屬性就是第三句,cross-domain-policy屬于策略文件中的根節(jié)點(diǎn),下面第三句allow-access-from屬于子節(jié)點(diǎn),當(dāng)然子節(jié)點(diǎn)不是只有allow-access-from這一個(gè),除此之外還包括site-control、allow-access-from-identity、allow-http-request-headers-from這三個(gè)子節(jié)點(diǎn),也就是說(shuō)cross-domain-policy下面的子節(jié)點(diǎn)只能是上面提到的這四個(gè),沒(méi)有其他的子節(jié)點(diǎn)。
cross-domain-policy是根節(jié)點(diǎn),不能賦予任何屬性,但是子節(jié)點(diǎn)是可以賦予屬性的,例如我們上面例子中的,其中的domain就是allow-access-from的屬性之一,只有domain中指定的域才能通過(guò)Flash讀取域中的信息和內(nèi)容,例如我們案例中domain的值是*,就代表所有的域都有權(quán)限通過(guò)Flash讀取我們網(wǎng)站所在域的內(nèi)容,因此就有可能被別人跨域訪問(wèn)并獲取我們網(wǎng)站的用戶(hù)信息等敏感內(nèi)容,因此我們?cè)谏厦娴慕鉀Q方法中,也是將*代替為我們自己的域名,這樣只有我們自己的域名所在域才有權(quán)限通過(guò)Flash訪問(wèn)本域的內(nèi)容。