XSS漏洞!你關注了嗎?或者說你重視了沒?某些互聯網企業對于這一漏洞的態度是直接忽略。但這個XSS漏洞在Gainover眼里還可以做很多事。對了,忘記說了,Gainover是一位生物學博士。
以下是Gainover的演講全文:
XSS是一個非常古老的漏洞,但是在互聯網里還是普遍存在的。我今天給大家看一看,為什么說它普遍存在,是存在什么樣的程度?
我實際上是一個不嚴肅的人,我是一個喜歡賣萌的人。我來過兩次北京,上次路過北京天安門,但是我是在天安門地鐵下面,所以我天安門也沒看到就回去了,我來是為了一個會議,這個會議叫做中國細胞生物學大會。
大家認識我的以為我是搞計算機的,實際上我是一個生物研究工作者。當然,你不要問我,轉基因到底有沒有危害?這個其實我也不是很好明確地回答你們。但是你們可以問我,XSS漏洞是什么?
這個東西我不會多講,我可以簡單地說一下,當你瀏覽一個正常頁面的時候,如果這個正常頁面能夠被攻擊者在里面插入惡意代碼,來執行他們目的的話,我們可以說這個頁面存在XSS漏洞。
這個可以是網站本身的代碼問題,也可以是用來渲染這個瀏覽器本身存在的問題,都可以導致XSS漏洞。什么是XSS漏洞挖掘呢?就是你想辦法把網頁插到別人的網頁中去。今天的關注點在XSS漏洞利用上,這個在烏云上有很多案例了,大家平時用的最多的,用XSS來竊取客戶的Cookies,這個在烏云推出來一個XSS漏洞利用平臺,這個攻擊實際上被推到了頂峰。
后來有一些廠商,百度后來把這個機制加上,用來緩解XSS漏洞利用方式。烏云還有一個導致XSS漏洞利用,叫XSS盲導。這點由于簡單粗暴的方式,也導致大家把這個發揮到極致了。還有三類,我用紅色圖標給標出來的,也是將XSS危害發揮到極致的方式了。
大家聽說過XSS是蠕蟲,它會放大的,有了XSS蠕蟲,像微博,百度貼吧,都發生過這個蠕蟲案例的。我在這里說一下,黑客可能發一條微博,這個鏈接里會有惡意代碼,當客戶點擊黑客發布的內容或者鏈接之后的話,這個代碼會讓用戶自己也發條微博,這里同樣也會發這個惡意代碼。
這樣的話,含有惡意代碼的微博會呈現幾何級增長的,所以可以在很短時間內得到很大的爆發量,這對社交網絡來說是危害很大的攻擊方式。
另外,XSS分布式服務攻擊,這個一直是停留在概念上的東西,這段時間有一個實際案例,就是利用搜狐視頻漏洞進行攻擊,這是老外先報出來的,國外媒體也紛紛報道了。
這個實際上,黑客在大的網站,像搜狐視頻網站里去插入這樣一個惡意代碼,當用戶訪問大流量網站,比如在觀看視頻的時候,用戶瀏覽器會自動執行黑客命令,黑客命令可能會向他所要攻擊的目標網站,一秒鐘發出請求,搜狐有十萬客戶觀看這個視頻的話,就呈幾何級的增長,這樣使目標網站停止服務了。
這個案例也是我們團隊發在烏云上的一個案例,這叫水坑攻擊,這個在XSS,我們現在把這個概念結合起來了,恩為什么叫水坑攻擊?就是有時候我們要去攻擊某個目標的話,實際上是你很難接觸到它的,在這個時間里,比如說李開復,我們想去給李開復發一個鏈接,都很難直接發的,我們不知道他的聯系方式什么的,想直接攻擊他是不可能的,但是我們是可以知道李開復會去上36k的,我們可以在這里植入XSS,在我們等四天之后,李開復中了我們XSS,我們當時結合QQ的漏洞,就是讓李開復關注了烏云漏洞報告平臺,在這個過程中不光李開復受到影響了,還有其他的,只要經常上36K的,36K只是其中一個網站,我們還會在很多網站上插入這個XSS。為什么叫水坑攻擊?
比如你在大草原的話,比如說我是獅子的話,我想找獵物,但是大草原太大了,我哪里去找呢?但是動物都喝水,我就蹲在水坑等著,等動物來喝水我就把它捉到了。
大家要注意這個漏洞有一個特點,第一個,實際上我們在36K插入XSS的話,實際上并不是36K本身網站的漏洞,它本身網站我們也沒去找,是因為36K在當時用了第三方的評論插件,我忘了叫什么名字了,這個插件本身是有漏洞,我們可以往里插惡意代碼,這樣的話在36K在第三方評論插件劫持了QQ漏洞,然后使李開復關注了烏云漏洞平臺。
實際上36K對我們一點用沒有用,我們要劫持的是QQ的信息。
雖然說我前面講了XSS利用方式有這些,可能還有其他方式,我這里沒有提及。廠商和攻擊者對XSS分別是什么樣的態度呢?實際上XSS漏洞相比傳統的,它的危害確實要小很多,對于一些廠商來說的話,特別是國內的一些廠商,這種類型的漏洞就像牛皮癬一樣,清都清不完,它一直存在。廠商有的時候要么修,要么有的覺得域名不重要就不修了。
對攻擊者來說,實際上XSS可以干很多事情,首先,可以獲取個人信息,這個待會兒我要給大家演示的。
第二個,XSS是用來偽造釣魚頁面,實際上我平時身邊也有人在淘寶上買東西,別人告訴他退款,讓他輸入銀行帳號密碼什么的,可能前面裝的很像,但是容易露餡的就是發來亂七八糟的域名,就讓人警覺。如果配合XSS漏洞的話,在域名或者頁面上很難判斷是頁面自己的還是黑客構造出來的,這對用戶來說很難區分出來的。
這個黑色產業已經在這樣做了,在烏云上有一個實際案例,就是利用搜狗拼音來釣魚的案例。
現在是應題了,叫一個被忽略的漏洞。這個漏洞是在2013年發布出來的,叫優庫分站一個存儲型XSS漏洞。這個漏洞是被優酷忽略的,這個漏洞不光危害是高,而且很高。這個是發漏洞的一個截圖證明,在這上面確實很難看出來危害,無法就是優酷的一個視頻里面有一個XSS,可以彈出這樣一個框框,就是不能直接看出它的危害。
后來這個危害還被忽略了,也公開了,包括我現在還在講,這個漏洞還沒被修。為什么會被忽略,這個是我不能理解的。首先我猜,難道是因為存在缺陷的域名不是優酷自己的域名。
實際上,XSS影響域名的話,大家可以看到,它確實是優酷.com,至少從影響的域名來看的話是應該被修的,而不是被忽略的漏洞。第二,哪怕你是第三方文件導致自身的域名,不是你自己文件下的,為什么沒有通知第三方來修,這也是我不能理解的。漏洞被忽略之后會有什么后果?
現在我們就一起來看一下,這個忽略了一年多的漏洞到底是什么后果呢?大家看到我打開優酷,這個說明首頁上就可以執行惡意代碼,不光是優酷,土豆也一樣,這是我測試的時候的提示,酷6也是一樣,這是曾經出過漏洞的搜狐視頻,也是一樣,也就是說,用戶只要曾經訪問過我們惡意構造的頁面,之后不管他看哪個頁面都會執行我們惡意代碼的。也就是說,這些視頻網站都受影響的。
問題一,到底有多少個網站會受到這個漏洞的影響?我們看一下,我們在某些網站上,就像我剛才在36K評論一樣,在上面插一些XSS,用戶在路過36K的時候就會被我們感染了剛才那個漏洞代碼,接下來他去看優酷視頻或者其他視頻網站的時候,就會執行我們這個惡意代碼。
大家知道,有很多網站會調用優酷網或者其他網站,這樣它們也是很大的受害群體。為了研究到底有多少網站受到漏洞影響?我們是做這樣的實驗,我和我們團隊的人一起來做這樣的測試,我們找了一些網站,這個網站被我們拿來做測試,表示抱歉,但這個也沒辦法。
我們在這里插入XSS五之后,我們開始看這個,它們被我們感染惡意代碼,它們訪問用戶的時候或者其他網站的時候,我們惡意代碼會讓它們去調用我們一個我們指定的網站,在訪問日志里會記錄這些用戶在哪些網站訪問到我們的。我們統計結果是什么樣的?
這是在一段時間內統計的,我們一共得到了2.39G的訪問日志,所有的受害者向我們指定的發送了9513830次請求,我們在請求里訪問來源以后一共有2831個域名受影響。我們取了前20名,第一名是優酷,第二個是車的網站,SCAR,包括360也受牽連了在里面,還有其他的,還有我沒見過域名的網站,這些都是被統計出來的。
問題二,對XSS不了解或者不理解它的危害,可能看我之前的視頻,彈個OK,彈個OK,到底有什么用呢?
我給大家看一下,怎么從OK,到真實數據的泄漏,會泄漏什么數據,黑客會獲得什么數據,我們看一個視頻,大家在生活中,對普通網民來說用的就是QQ,大家也比較關心QQ上面的數據,而且了解我的,知道我喜歡黑騰訊,所以我來拿它做演示。
現在黑客把代碼改成真實的代碼了,我就像剛才那樣打開頁面,我正在看QQ空間,這個是大家正常瀏覽,但是沒有想到的是內容更新了,然后我去上優酷網,大家可以看到這個時候惡意代碼已經被執行了,這都是模擬大家在做的操作,最后我們來看看黑客這邊得到了什么?
大家可以看到,我用自己QQ做的測試,這里訪問了優酷之后,你QQ所有好友被發送到黑客這邊,這個只是拿好友數據做掩飾,可能其他數據也會因此而泄漏。
我們拿優酷做演示,就是你曾經訪問了我惡意構造的網頁后,你去看某些視頻網站,你的信息都是會被發送到我這邊的,而且更關鍵的是,這個東西只要你不清理它,它一直存在在你電腦上的,總有一天你會上鉤的。
就這樣完了嗎?當然不止這些危害,這個不僅僅是個漏洞,這是我2013年10月24號我在漏洞下面做的一個評論,我是這么說的,問題很隱蔽,這個開發人員肯定是注意不到的,只要是有這么用的,估計都會存在問題。這是當時我在漏洞下面做的評論。
后來的話,我看還存在哪些問題?我們看一下烏云已經公開的案例,實際上這三個漏洞的話,與我多少都有點關系,不管是馬甲還是間接報告,還是怎么樣的,實際上我發了這個之后還是沒有引起太多各大企業的注意。第一,全部博客可留后門。
你只要你是新浪博客用戶,不管你以后訪問新浪博客任意文件,都會執行我這個惡意代碼的。第二個,淘寶支付寶的,這個叫一個可大規模悄無聲息竊取淘寶支付寶帳號的。這個標題看起來很大,但是實際上一點都不危言聳聽的。
這些企業不知道自查周期比較長還是怎么樣的,同樣的漏洞在阿里云服務上一樣存在的,后來也被報告修復了。現在我看了一下,淘寶相關的頁面上,同等類型漏洞都已經做了相應保護措施了,他們已經意識到這個漏洞危害的嚴重性了。
其實我今天給大家講的,就是說漏洞這塊東西,就說到這里。我標題還有后半部分,叫XSS僵尸網絡。這個東西敢這么說的話,是有一定漏洞基礎的,是因為這個漏洞本身特點決定,它是可以用來做這個東西的。首先,隱蔽性。
為什么說它隱蔽?這個漏洞本身特點,你想想,對于一個用戶來說,可能很多用戶對釣魚網站網址都分不清楚的,你讓他在頁面來看原代碼,看它上面是不是存在惡意代碼,這是根本沒可能的。
第二個,傳統的殺毒軟件,它是很難去防這類攻擊的,這個東西對于軟件來說,至少很難有辦法去區分,是XSS,還是這個網站本身的。所以對用戶這一層的話,用戶是很難去發覺他們是已經中招的了。
哪怕我自己搞這方面的,如果不專門看的話,我自己很難察覺,所以我也自己也很擔心這類漏洞。這個對廠商來說,這與傳統的漏洞不太一樣的,傳統的是在頁面里插一段代碼,你接到報告說這個頁面有問題,廠商查的話,發現這里黑客插了一段代碼。
但是對XSS來說,這個漏洞是存在用戶電腦本地存儲上的,用戶覺得頁面有問題,讓廠商去查,廠商去看頁面完全沒有任何問題,然后就不再過去了。這樣的話不管是最用戶還是廠商來說,這種類型的漏洞隱蔽性是特別好的。
第二個,持久性。這是一個長期存在用戶電腦上的,這個漏洞原理也是發過的,大家可以看看,它用Flash本地存儲,如果你不是自己去清Flash Cookies的話是很難清掉的。
我記得360軟件Flash Cookies是勾上的,以前我看安全衛士軟件的話,Flash Cookies是不勾上的,就是用戶清理垃圾什么的,不會清理掉這些垃圾,這樣的話,這個東西就是在用戶電腦上長期存在。
另外的話,那些軟件去來清理這些東西,它就是找到瀏覽器默認的Flash Cookies存放目錄對它清除。我現在不知道第三方有沒有清除這個,如果沒有我建議以后可以做上。如果沒有的話,這個后果很嚴重的,按照我前面演示,如果這次沒有打開網頁或者QQ空間不會被竊取,但總有一天你會被竊取。
第三,流量大。大家可以看到這種類型的漏洞影響到了,基本上是全國所有視頻網站,當然有些網站沒有用那個代碼的話就沒有。
第二個,電商類的也是受影響的,雖然現在都修了。第三個,新浪微博也是受影響的,這也是大流量的社交網站。所以說這個受影響的用戶量是非常大的。
其次,用戶頁面時間停留長,大家可以看到,特別是對于視頻網站來說,它的用戶基本上都在看視頻,一個小時、兩個小時,惡意代碼就會在那里被執行一個小時、兩個小時,這樣黑客利用代碼可以獲得很長執行時間的,這為后面的攻擊是能夠提供很大的幫助的。
最后,基于這些特點的話,這跟前面原理差不多的,我們可以看到,黑客首先做一個感染階段,它首先找一些比較好入侵的,或者有漏洞的中小型的網站去入侵,入侵了之后就在里面插入這樣一個XSS代碼,因為這些中小型網站它在上面用戶Cookies有什么用啊,一點用沒有,所以黑客不會偷這個,它的目的是植入后續的XSS,接著這些FLash XSS在感染到足夠用戶數量之后,我們可以讓FLash XSS執行黑客的操作,最簡單的就是信息竊取,當感染數量達到一百萬的時候,我假設里面只有1%的用戶,比方說他先看QQ空間,再看網站的話,就會有一萬人的數據竊取,這可能只是一天的數據,如果是一個月呢?一年呢?
因為這個漏洞不宜被發現,不易被清理,所以這個積累到一年的話危害是非常大的。而且這些受害者,在看視頻的時候,他的瀏覽器可以被黑客做一些事情的。當然,這個還會有其他的利用方式,這個就要發揮想象力了。所以我這里總結了一下,這種類型的做僵尸網絡的話,首先感染階段,然后是執行階段,從危害上來說的話,我覺得影響幾乎全國所有網站的。下面可以進行提問。