|
Q7:加密是否能有效防護(hù)XSS攻擊?
通常大家會(huì)認(rèn)為如果網(wǎng)站使用了HTTPS,提供更有保障的安全,可以幸免于XSS攻擊。其實(shí)這是一種誤解。HTTPS僅提供傳輸層的安全,在應(yīng)用層仍然面臨XSS的威脅。
Q8:XSS漏洞是否可能引起非法執(zhí)行命令?
如果瀏覽器設(shè)置安全性不夠時(shí),XSS漏洞允許插入JavaScript,也就意味著攻擊者可能獲取受限的客戶端執(zhí)行權(quán)限。如果攻擊者進(jìn)而利用瀏覽器的漏洞,就有可能在客戶端非法執(zhí)行命令。簡(jiǎn)言之,XSS漏洞有助于進(jìn)一步利用瀏覽器漏洞。
Q9:從網(wǎng)站開(kāi)發(fā)者角度,如何防護(hù)XSS攻擊?
來(lái)自應(yīng)用安全國(guó)際組織OWASP的建議[3],對(duì)XSS最佳的防護(hù)應(yīng)該結(jié)合以下兩種方法:驗(yàn)證所有輸入數(shù)據(jù),有效檢測(cè)攻擊;對(duì)所有輸出數(shù)據(jù)進(jìn)行適當(dāng)?shù)木幋a,以防止任何已成功注入的腳本在瀏覽器端運(yùn)行。具體如下:
·輸入驗(yàn)證:某個(gè)數(shù)據(jù)被接受為可被顯示或存儲(chǔ)之前,使用標(biāo)準(zhǔn)輸入驗(yàn)證機(jī)制,驗(yàn)證所有輸入數(shù)據(jù)的長(zhǎng)度、類(lèi)型、語(yǔ)法以及業(yè)務(wù)規(guī)則。
·強(qiáng)壯的輸出編碼:數(shù)據(jù)輸出前,確保用戶提交的數(shù)據(jù)已被正確進(jìn)行entity編碼,建議對(duì)所有字符進(jìn)行編碼而不僅局限于某個(gè)子集。
·明確指定輸出的編碼方式(如ISO 8859-1或 UTF 8):不要允許攻擊者為你的用戶選擇編碼方式。
·注意黑名單驗(yàn)證方式的局限性:僅僅查找或替換一些字符(如"<" ">"或類(lèi)似"script"的關(guān)鍵字),很容易被XSS變種攻擊繞過(guò)驗(yàn)證機(jī)制。
·警惕規(guī)范化錯(cuò)誤:驗(yàn)證輸入之前,必須進(jìn)行解碼及規(guī)范化以符合應(yīng)用程序當(dāng)前的內(nèi)部表示方法。請(qǐng)確定應(yīng)用程序?qū)ν惠斎氩蛔鰞纱谓獯a。
Q10:從網(wǎng)站用戶角度,如何防護(hù)XSS攻擊?
當(dāng)你打開(kāi)一封Email或附件、瀏覽論壇帖子時(shí),可能惡意腳本會(huì)自動(dòng)執(zhí)行,因此,在做這些操作時(shí)一定要特別謹(jǐn)慎。建議在瀏覽器設(shè)置中關(guān)閉JavaScript。如果使用IE瀏覽器,將安全級(jí)別設(shè)置到“高”。具體可以參照瀏覽器安全的相關(guān)文章。
這里需要再次提醒的是,XSS攻擊其實(shí)伴隨著社會(huì)工程學(xué)的成功應(yīng)用,需要增強(qiáng)安全意識(shí),只信任值得信任的站點(diǎn)或內(nèi)容。
Q11:如果修補(bǔ)XSS漏洞對(duì)網(wǎng)站來(lái)說(shuō)困難較大,不修補(bǔ)會(huì)怎樣?
如果不能及時(shí)修補(bǔ)XSS漏洞,網(wǎng)站可能成為攻擊者攻擊第三方的媒介,公信度受損;網(wǎng)站用戶成為受害者,敏感信息泄漏。現(xiàn)實(shí)中,確實(shí)存在某些無(wú)法修補(bǔ)漏洞的客觀原因,如Web應(yīng)用開(kāi)發(fā)年代久遠(yuǎn)或者整改代碼需要付出過(guò)于高昂的代價(jià)。這種情況下, 選擇Web安全網(wǎng)關(guān)會(huì)是一種合理選擇。正確應(yīng)用這類(lèi)安全工具,會(huì)極大緩解XSS攻擊,降低安全風(fēng)險(xiǎn)。
Q12:下一代XSS會(huì)是怎樣的?
隨著AJAX(Asynchronous JavaScript and XML,異步JavaScript和XML)技術(shù)的普遍應(yīng)用,XSS的攻擊危害將被放大。使用AJAX的最大優(yōu)點(diǎn),就是可以不用更新整個(gè)頁(yè)面來(lái)維護(hù)數(shù)據(jù),Web應(yīng)用可以更迅速地響應(yīng)用戶請(qǐng)求。AJAX會(huì)處理來(lái)自Web服務(wù)器及源自第三方的豐富信息,這對(duì)XSS攻擊提供了良好的機(jī)會(huì)。AJAX應(yīng)用架構(gòu)會(huì)泄漏更多應(yīng)用的細(xì)節(jié),如函數(shù)和變量名稱、函數(shù)參數(shù)及返回類(lèi)型、數(shù)據(jù)類(lèi)型及有效范圍等。AJAX應(yīng)用架構(gòu)還有著較傳統(tǒng)架構(gòu)更多的應(yīng)用輸入,這就增加了可被攻擊的點(diǎn)。本新聞共 2頁(yè),當(dāng)前在第 2頁(yè) 1 2 |
|
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|