。這對(duì)于過(guò)濾 ,還可以使用

結(jié)果得到的 HTML 是:

">

執(zhí)行傳統(tǒng)的 XSS 攻擊的其他方式

到此為止,我們已經(jīng)看到 XSS 攻擊可以出現(xiàn)在用腳本回送響應(yīng)的 GET 請(qǐng)求的參數(shù)中。但是也可以用 POST 請(qǐng)求實(shí)現(xiàn)攻擊,或者利用 HTTP 請(qǐng)求的路徑組件 —— 甚至使用一些 HTTP 頭(例如 Referer)。

特別是,當(dāng)錯(cuò)誤頁(yè)面返回錯(cuò)誤的路徑時(shí),路徑組件就有用了。在這種情況下,包含在該路徑中的惡意腳本經(jīng)常都會(huì)執(zhí)行。已發(fā)現(xiàn)許多 Web 服務(wù)器都容易受到這種攻擊。

什么出了問(wèn)題?

很重要的是要知道,雖然 Web 站點(diǎn)不直接受到這種攻擊的影響(站點(diǎn)繼續(xù)正常工作,惡意代碼不在站點(diǎn)上執(zhí)行,不會(huì)出現(xiàn) DoS 情況,并且數(shù)據(jù)不直接受控,或從站點(diǎn)上讀取),但是它仍舊是站點(diǎn)向其訪問(wèn)者或客戶端提供的隱私保護(hù)機(jī)制中的缺陷。這就像站點(diǎn)使用薄弱的安全標(biāo)志(security token)部署應(yīng)用程序,借此,黑客可以猜出客戶的安全標(biāo)志并冒充客戶。

應(yīng)用程序中的脆弱點(diǎn)是不管參數(shù)值是什么都回送參數(shù)的腳本。好的腳本確保參數(shù)的格式是適當(dāng)?shù)模侠淼淖址?,等等。有效的參?shù)通常沒(méi)有合理的理由包含 HTML 標(biāo)簽或 JavaScript 代碼,可靠起見(jiàn),應(yīng)該在這些內(nèi)容嵌入響應(yīng)之前,或者在應(yīng)用程序中處理這些內(nèi)容之前,將它們從參數(shù)中去掉。

如何保護(hù)站點(diǎn)不受 XSS 攻擊

用這三種方式可以保護(hù)站點(diǎn)不受 XSS 攻擊:

1. 執(zhí)行內(nèi)部的輸入過(guò)濾(有時(shí)候稱為輸入清潔設(shè)備)。對(duì)于內(nèi)部書(shū)寫(xiě)的每個(gè)腳本中的每個(gè)用戶輸入 —— 參數(shù)或 HTTP 頭,都應(yīng)該應(yīng)用高級(jí)的 HTML 標(biāo)簽(包括 JavaScript 代碼)過(guò)濾。舉例來(lái)說(shuō),來(lái)自之前的案例研究中的 welcome.cgi 腳本在解碼 name參數(shù)之后,應(yīng)該過(guò)濾

對(duì)每個(gè)腳本的每個(gè)參數(shù)(通過(guò)允許 JavaScript 的瀏覽器暴露出最簡(jiǎn)單類(lèi)型的 XSS 安全漏洞),如果將文本解釋為 JavaScript 代碼,那么瀏覽器將彈出 JavaScript Alert 窗口。當(dāng)然,還有很多其他情形,因此,只測(cè)試這種情形是不夠的。如您已經(jīng)很了解的話,很可能將 JavaScript 注入請(qǐng)求的各種字段中:參數(shù)、HTTP 頭,和路徑。盡管,在一些情況下(特別是 HTTP Referer 頭),很難利用瀏覽器執(zhí)行攻擊。

總結(jié)

跨站腳本攻擊是黑客用來(lái)潛入 Web 應(yīng)用程序的最普遍的應(yīng)用程序?qū)庸糁?,并且是最危險(xiǎn)的手段之一。它是針對(duì)特殊 Web 站點(diǎn)的客戶隱私的攻擊,當(dāng)客戶詳細(xì)信息失竊或受控時(shí)可能引發(fā)徹底的安全問(wèn)題。不幸的是,如本文所闡述的,這種攻擊經(jīng)常在無(wú)需了解客戶或被攻擊組織情況的前提下就可以實(shí)現(xiàn)。

要防止 Web 站點(diǎn)受到這些惡意行為的攻擊,至關(guān)重要的是,組織要實(shí)現(xiàn)在線和脫機(jī)的安全策略。這包括使用能夠自動(dòng)化測(cè)試出站點(diǎn)中所有普遍的 Web 安全漏洞,和具體應(yīng)用程序的安全漏洞(例如跨站腳本)的自動(dòng)化安全漏洞評(píng)估工具。對(duì)于全面的在線防衛(wèi),同樣至關(guān)重要的是安裝可以檢測(cè)并抵御任何對(duì)保存在 Web 服務(wù)器上,或其背后的代碼和內(nèi)容實(shí)施控制的防火墻應(yīng)用程序。

分享到

zhangcun

相關(guān)推薦