成效極高的 XSS 攻擊術:外國專家如何看 XSS 漏洞?
XSS 漏洞我們上星期已初步介紹過,而筆者特別以 XSS 為題發表文章,全因近期筆者注意到 XSS 活躍程度急升;為了滿足筆者自己的好奇心,於是在網絡上查找有關文檔,剛剛發現了一篇不錯的,希望借此平台向大家分享。全文已被翻譯,希望好文亦可與各位共享。
以下有關 XSS 漏洞的文章是由 Gainover 編寫的,Gainover 是一位生物學博士。
以下是 Gainover 的翻講全文:
XSS 是一個非常古老的漏洞,但是在互聯網裡還是普遍存在的。我今天給大家看一看,為什麼說它是普遍存在,是存在什麼樣的程度?
實際上我是一個不嚴肅的人。我來過兩次北京,上次路過北京天安門,其實我是在天安門地鐵下面,所以我沒看到天安門就回去了,我是為了一個會議才到來,這個會議叫做中國細胞生物學大會。
大家都以為我的專業是電腦,實際上我是一個生物研究工作者。當然,你不要問我,轉基因到底有沒有害?其實我也不是能夠好明確去回答你們。但是你們可以問我,XSS 漏洞是什麼?
這個東西我不會多講,我可以簡單地說一下,當你瀏覽一個正常頁面的時候,如果這個正常頁面能夠被攻擊者插入惡意程式,然後可以執行的話,這個頁面就是存在了 XSS 漏洞。
這個可以是網站本身的代碼問題,也可以是用來通過瀏覽器本身存在的問題發動攻擊,這些都可以導致 XSS 漏洞。什麼是 XSS 漏洞的 Mining 呢?就是你想辦法把自己網頁插到別人的網頁中。今天想向大家分享一下 XSS 漏洞的案例;大家平時用的最多就是利用 XSS 來偷取客戶的 Cookies,而事這個攻擊亦已被推到頂峰。
後來有一些廠商,把新機制加上,用來緩解 XSS 漏洞。大家可能聽說過 XSS 是蠕蟲,它會放大的,很多網站都發生過這類型的蠕蟲案例。我在這裡說一下,黑客可能發布新內容到社交網站,而這些更新資訊之中會有惡意代碼,當客戶點擊黑客發布的內容或者連結之後,這個代碼會讓用戶自動發佈新的內容到不同的社交網站之中,當然自動發送的內容同樣地也會帶有惡意代碼。
這樣的話,含有惡意代碼的內容會呈現倍數增長,所以可以在很短時間內得到很大的爆發力,對社交網絡來說是一個很大的危機。
另外,XSS 分散式攻擊中,這個東西一直停留在概念上。有一個實際案例,就是利用網站的漏洞進行攻擊,實際上,黑客在大的網站中,可以輕易地插入一個惡意代碼;最佳的例子就是於視頻之中插入自動執行的連結,當用戶觀看視頻的時候,用戶瀏覽器會自動執行惡意代碼,發送請求,可能會按黑客要求攻擊目標網站,假如有十萬計的用戶觀看該視頻的話,就會呈倍數增長,目標網站最後就被 DDoS 了。
水坑攻擊
我們現在把這個概念結合起來,為什麼叫水坑攻擊?就是有時候我們要去攻擊某個目標時,實際上是你很難接觸到它,在這個時間裡,比如說陳大文,就算我們想給陳大文一個連結,都很難直接給他,因為我們不知道他的聯系方式是什麼,想直接攻擊他是不可能的,但是我們可以知道陳大文會去上某個網站時,我們便可以在這裡植入 XSS,在我們等四天之後,陳大文中了我們 XSS,我們結合當時的軟件漏洞,當然是一些會令陳大文關注的東西 :),在過程中不但陳大文受到影響了,還有其他經常上相同網站的都會受影響。
為什麼叫水坑攻擊?
假設你在大草原,我是獅子,我想找獵物,但是大草原太大了,我可以到哪裡去找呢?但是動物都喝水,我就蹲在水坑等著,等動物來喝水我就把它捉到了。
大家要注意這個漏洞有一個特點,第一個,實際上我們在網站插入 XSS 的話,實際上並不是網站的漏洞,它本身網站的漏洞我們沒去找,是因為在當時網站之中用了第三方的插件(CMS 系統最常出現,如 WordPress,我忘了叫什麼名字了,這個插件本身是有漏洞的,我們可以在這裡插入惡意代碼,這樣的話在第三方評論插件中利用軟件漏洞,使陳大文關注了載有惡意代碼的平台。
雖然我在前面說了 XSS 的方式有這些,可能還有其他方式,但我這裡沒有提及。廠商和攻擊者對 XSS 分別有不同態度!實際上 XSS 漏洞相比傳統的漏洞,它的破壞性確實要小很多,對於一些廠商來說的話,特別是細廠商。這種類型的漏洞就像牛皮癬一樣,清不完。廠商有時候修理,有時候覺得域名不重要就不修理。
對攻擊者來說,實際上 XSS 可以做很多事情,首先,可以獲取個人信息。
第二個,XSS 可用來偽造釣魚頁面,平時我身邊也有朋友在淘寶上買東西,別人告訴他退款,讓他輸入銀行帳號密碼,前面可能裝的很像,但很容易出現亂七八糟的域名。如果配合 XSS 漏洞的話,在域名或者頁面上很難判斷是頁面自己的還是黑客構造出來的,這對用戶來說很難區分出來的。
但不幸地 XSS 已成為地下社區最熱賣的黑客服務。
到底有多少個網站會受到這個漏洞的影響?
我們看一下,我們在某些網站上插入一些 XSS,用戶在路過的時候就會被我們的漏洞感染了,接下來他去看其他網站的時候,就會執行我們這個惡意代碼。為了研究到底有多少網站受到漏洞影響,我們做了這樣的實驗,我和團隊一起做了這樣的測試,我們找了一些網站,這些網站會被我們拿來做測試。
我們在當中插入 XSS 之後,它們會感染我們的系統,它們連到其他網站的時候,我們的惡意代碼會讓它們去指定的網站,在日誌裡會記錄這些用戶經過哪些網站才連接到我們的。
這是在一段時間內統計的,我們一共得到了 2.39G 的日誌,所有的受害者向我們指定的網站發送了 9513830 次請求,我們在請求裡統計一共有 2831 個域名受影響。
今天講的,就是說漏洞這東西,就說到這裡。我標題還有後半部分,叫 XSS 僵屍網絡。這個東西是有一定漏洞基礎的,因為是這個漏洞本身特點,它可以用來做這個東西的。首先,它是隱藏性的。
為什麼說它隱藏?這個漏洞本身的特點,你想想,對於一個用戶來說,可能很多用戶對釣魚網站的網址都分不清楚,你讓他在頁面來看原代碼,看它上面是不是存在惡意代碼,這是根本沒可能的。
第二個,傳統的防毒軟件,它是很難去防這類攻擊的,這個東西對於軟件來說,很難有辦法去識別出來,究竟頁面是 XSS,還是這個網站本身的?所以對用戶來說,用戶是很難去發覺他們是已經中招的。
即使是黑客本身,亦很容易中招。這個對廠商來說,這與傳統的漏洞不太一樣,傳統的是在頁面裡插一段代碼,你接到報告說這個頁面有問題,如果廠商查的話,會發現這裡插了一段代碼。
但是對 XSS 來說,這個漏洞是存在於用戶電腦存儲上,用戶覺得頁面有問題,讓廠商查,廠商去看頁面完全沒有任何問題,就不再過去了。這樣的話不管是用戶還是廠商來說,這種類型的漏洞隱藏性是特別好的。
這種漏洞不易被發現,也不易被清理,所以積累到一年的話對電腦的危害是非常大的。而且這些受害者,在看視頻的時候,他的瀏覽器可以被黑客做一些事情。當然,這個還會有其他的利用方式。所以我這裡總結一下,這種類型的僵屍網絡,首先是感染階段,然後是執行階段,從危害上來說的話,我覺得影響的幾乎是所有網站。