]

Saturday, November 25, 2006

Web 2.0 時代的資安隱憂

這是筆者 10月份 應 SA 台中所做的演講,最後 20 min 加的 bonus 。老實說,筆者的演講並不精彩,甚至自評可以以爛來來形容(所以大家不要一直瘋狂的跟我要影片檔了,自慚形穢啊)。但是這後面 20 分鐘的 bonus,聽說搞的全場震驚(噗),而私底下在一些 bof 聊到這個,筆者也發覺除了資安界的人外,幾乎很少人思考過這個嚴肅的議題。本來一直沒時間把他整理成一篇稿子,加上有名大站,並不需要 focus 在這點上,就可以挖掘出一大堆爛瘡。所以筆者就一直遲遲沒有動筆,直到最近 ....



資安隱憂以往較為人知曉的是 SQL Injection,針對的對象是 Server。利用一些輸入格並未對輸入文字做好 encode (轉成無害文字)的漏洞,用不同的語法去探測 Server 訊息,甚至測出 Database Table 欄位的細節,進而盜取整個資料庫的訊息。



註:如果沒有經過 encode,資料庫有所謂的資料庫語法,駭客可以透過這些輸入欄位,輸入一些資料庫語法,讓資料庫乖乖聽他的話 =_=|||,然後把 admin 拿到手。所以你常常聽到打 db 打 db ,yes...常見的打 db 就是用這招。



而近年很紅的 XSS 攻擊,其實也不是新招,只能說是新瓶裝舊酒。XSS 是專指 JavaScript嗎?不 ....其實只要在瀏覽器執行的都可以,例如 flash 的 swf 檔,你真的知道他偷偷在對你做些什麼事嗎? 只能說近年來因為後端對 JS 的邪惡應用不斷推陳出新,例如 AJAX ,所以會讓你誤以為 XSS 用的語言就是 JavaScript。加上 JS 實在是方便易使的利器,搭配一些社交、釣魚手法,cookie、Admin 權限手到擒來的門檻實在比 SQL Injection低太多了,所以相關的資安議題目前呈現大幅度的成長。除此之外,有些人對於 XSS 還有一個誤解,就是他只能拿來偷"我的東西"而已,應該不能作其他事了?不....他也可以"送禮物給你",木馬啥小的隨便入侵者選。XD



Web 2.0 網站很重要的一個前提就是 "User Generate Content"。自己對這個站台放心,才會安心把內容 publish 上去,而讀者也安安心心在你的站閱覽。而一般作者應該沒那麼無聊會在自己 Blog 上坑自己讀者,而真正想坑害人的駭客也不會苦心經營了幾個月 Blog 才動手(本益比問題),這就是我覺得有名大站禁掉所有人在自己 Blog 上使用 JavaScript 是很白癡的行為,JavaScript 也是使用者拿來裝潢家的工具,你連這點權利都不給人,人家不落跑才怪。


那重點在哪呢?重點在於服務供應商有沒有對於這些可以惡搞的小蹊徑做出有效的阻擋。


舉 個例來說吧,要是我是駭客,我才不會那麼無聊,在 Blog 和 文章裡面嵌 JS 作的炸彈,再騙人來點,太慢了,自己開 Blog 一天能騙幾個;而且這個被騙來的人沒有登入的話,我也頂多只幫他種種爛草莓而已。但是如果我在大 Blogger 他家的 comment 區丟炸彈呢? 第一個,大 Blogger 本身要看讀者留言作回覆,第一個中獎,其他人想回覆這篇文章,一定需要登入再回覆。砰!其他人也中了。只要有登入就會有 cookie,只要誰是登入狀態來看這篇文章,他就中獎了。


如果 BSP 沒有在這裡作 comment 裡 post JavaSscript 的阻擋動作,那後果就會很可怕。很可惜,我幾個月前就向"X多"和X*ite 提報了它們這一區塊有問題,到現在還沒修好的樣子。


再來,拿到 Cookie 以後,也要有派的上用場的地方吧?像有名大站可以用的地方就在使用者資料這一區,手法你可以看太天位長輩者一篇。拿到 Cookie 後,Server 會以這個 Cookie 的擁有人去作 JS 可以做的事,所以個人的資料會員源源不絕的流出去。


這是使用者用 JS 的問題嗎?不,這是 BSP 前台 和 後台根本都沒有寫好的問題。單單誇耀一句有最高等級的安全防護,就沒事嗎?傳統來說,一般人,尤其是政府公家單位,認為任何網路攻擊靠防火牆,就可以擋的住,一台擋不住就多放幾台,加上網路安全產業嘴皮厚的業務員努力洗客戶的腦,所以才會造成大家印象中有什麼防火牆萬能論。但是,防火牆的功能,就只是在網路上阻擋外來的異常連線與允許特定來源的連線而已。XSS 可怕的是,他是 Web 上"合法"的存取行為,難道你要擋掉 HTTP 連線來阻擋入侵嗎(啟動"找不到伺服器"力場)?XD


Cookie 好用在哪,變成 Admin 那就不用說了?喔,要是你在以下地方被冒用身份了。X多因為要跟蕃薯藤分手了,所以如果你受影響的範圍只有樂多 Blog 與 市場。無X呢,Blog、相簿(這件事告訴我們不要放露點照在上面,鎖右鍵不但沒用,鎖密碼更是沒用)。Xuite 因為要作整合性服務 .....嗯,H*net 可以用 X*ite 去通行的你都可以用。W*bs-TV 除了 Blog 外還可以有影音 ......

而且不止 BSP 有 HTML 注入問題,這裡寫了更多站台


很酷吧。


喔, 筆者在實測時,有稍微看了一下各家 Cookie 長什麼樣子。其實手法還蠻簡單的,只要在 javascript 丟 alert('document.cookie') 就會砰出來(怎樣傳出去,這不能教,我會被針灸隊/偵酒隊抓走,不過你如果寫過動態網頁稍微想一想就知道,也很容易 google 到,所以不要來抓我去審問),拍到X多一張很搞笑的照片,正常我們在 cookie 只會塞一些通行資訊,可是不知道什麼原因,X多在裡面塞了個人資訊 ....為什麼要塞這些生日、性別、email一類的東西我實在搞不清楚,回報了也不修。囧。


blogyam


至於有名大站的漏洞修補效果有沒有效果呢?我老實的說,只要它們一天沒把那些垃圾 code 的洞補好,再被打下來只是遲早的事。況且回報了,它們受重視的程度到底有沒有那麼高呢?Gslin大神在 1/6 號就在 0Blog 上對有名大站作了警告。

breaktrack

結果它們什麼時候才修補?六月?八月?我向一些 BSP 提的漏洞 ....到現在還沒有被補起來 XD 我們正常人都很仁慈,測出來知道,但是不會去玩,因為就算玩了也沒時間處理沒時間分析沒地方放啊 XD,所以頂多送個警告之類的。但是有心人士就不同了 ...


還有有名大站真的只有 Java Script 可以被玩嗎?本文中我提的 swf 也可以玩,你在裡面嵌了什麼語法普通使用者怎麼會知道呢?哈,而且有名大站在一般用戶的頁面丟了四個以上的 swf廣告之多,被抗議吃資源不說,這裡面潛藏的危險有多大?有名大站的說法是它們允許 gif/jpg/swf 三種格式的廣告,且設計了一個系統可以讓廣告商 24 小時隨心情抽換,所以它們沒辦法管控吃資源的問題。所以這是不是代表只要付錢也能玩,而且廣播效果威力更大, 我就不知道了...這有辦法擋嗎?我想除非禁止使用 flash 廣告自行刊登吧,不過這一刀砍下去的影響對於有名大站太痛了,它們應該是不會這麼做才對。可是,既然有名大站都能因噎廢食的關掉 JavaScript 的功能,哪天蠢到關掉flash 也不會讓人太意外。

你信任的網站,真的是安全的嗎?值得再三思考。

[本站第 200 篇文章,大放送看到爽,然後我要休息三天看影集 XD,哈哈]

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home