網路安全公司 Detectify 的兩位共同創辦人Fredrik Almroth 和 Mathias Karlsson 平時便不斷參與各種「漏洞懸賞」活動來找出產品的各種安全問題。
有一天,Mathias 靈機一動,想到:「有沒有可能藉由某樣工具,來找出該工具本身的漏洞?」Almroth 和 Karlsson 立刻想到了一致的答案:Google 搜尋引擎!於是,他們開始利用 Google 搜尋引擎來找出 Google 的安全漏洞。
- 一般來說,以下的軟體最常發生漏洞百出的情況:
1. 老舊及 deprecated 的軟體
2. 鮮為人知,或是很少人在用的軟體
3. 很少人能獲得的非自由軟體(proprietary software)
4. 新科技的 Alpha、Beta 等版本
於是,他們開始搜尋過去 Google 所收購的公司或沒什麼人在用的產品。最後,他們看上的是「Google 工具列按鈕集」。Google 工具列按鈕集可以讓使用者自由更換工具列上的按鈕,還能讓開發人員藉由上傳包含許多後設資料(meta data)的 XML 檔案,來創造自製的按鈕。
Fredrik 在讀完 API 說明文件後,就創造了一組包含 fishy XML entities 的按鈕,欲藉此進行 XXE 攻擊。
- 原以為發現了 Google 的小漏洞,沒想到是具有重大風險的無底洞
造成這個 XXE 漏洞最根本的原因,在於不夠嚴謹的 XML 語法分析器會任意解讀使用者提供的 XML 檔案中的 DTD,因此這樣的語法分析器就會在使用者不知不覺中做出許多壞勾當,例如取得檔案、SSRF 與 遠距存取、阻斷服務攻擊,甚至是遙控執行編碼(想知道如何解決這類問題,可以參考這裡)。
第一次嘗試上傳:
第二次上傳(確認用):
在這張圖中,可以看見 Google 的其中一個實際執行伺服器(production server) 的 /etc/passwd 以及 /etc/hosts,這時無論他們兩人想要開啟伺服器上的任何檔案,或是利用 SSRF 來進入內部系統,都是易如反掌,且後果皆不堪設想。
他們立刻連絡了 Google(並開了兩瓶啤酒來慶祝),Google 的安全性專業小組則在二十分鐘後回覆了他們,表示對他們兩人感到相當佩服。接下來的幾天,專業小組與兩人藉由郵件來往,談論了後續的安全事宜,以及發現這個漏洞的價值。最後,專業小組回覆了他們以下這張圖片:
只不過,掉到 Almroth 和 Karlsson 頭上的不是一堆瓶子,而是一萬美元(約 30 萬台幣)的獎勵金。他們後來拿了這筆錢,帶著公司的員工進行了一趟歐洲之旅。
延伸閱讀:
【 HITCON Free Talk 現場筆記 】如何在全球駭客嗜血戰場 OpenSSL Heartbleed 中救自己一命
(資料與圖片來源:The Next Web)
Source: techorange.com