大家好,這篇文章將展示我最近發現的一個很酷的漏洞,讓我們開始吧!

前不久,我對hackerone上的某個懸賞目標進行了一番研究,發現了一個Self-XSS漏洞(AngularJS模板注入)和一個OAuth的配置錯誤漏洞。這兩個漏洞本身都是低危漏洞,不會造成很大的影響,但如果結合在一起,就會生成一個高危的存儲型XSS漏洞!

出於安全等原因,我稱這個目標網站為redacted.com

這個網站主要提供網路存儲服務,就像Google Drive或DropBox一樣。用戶可以在這個網站上傳、下載、共享他們的文件。

我經過一番摸索在上傳文件的文件名處找到了一個XSS。只要你上傳一個文件名如{{constructor.constructor(『alert(1)』)()}}.jpg這樣的文件,那麼你就會在上載文件的管理頁面上看到XSS彈框。

很好!但可惜這只是一個Self-XSS。

當然,有一種簡單的方法可以用它攻擊其他用戶,就是和受害者共享一個指向文件的鏈接,一旦受害者點擊,攻擊就會生效。但在這篇文章中,我將向你展示一種更有趣的利用方法。

在網站的設置中,我發現了一個從Dropbox導入文件的功能。為了使用這個功能,你需要通過OAuth將你的Dropbox帳戶和這個網站綁定。

為了方便理解,我將快速解釋一下這個OAuth流程。

  1. 首先,用戶單擊Connect Dropbox按鈕,瀏覽器就會發出如下GET請求(dropbox.com/oauth2/auth***********&response_type=code&state=****************&redirect_uri=https%3A%2F%2Fwww.redacted.com%2Faccount%2Fsettings%2Fdropbox-callback)
  2. 然後用戶被重定向到Dropbox,登錄帳戶並授予訪問許可權。

3.單擊上圖的「Allow」後,包含狀態參數和身份驗證碼的GET請求將被發送到redacted.com,如下圖所示。

4.一旦redacted.com接收執行這個GET請求,Dropbox將同步當前用戶的session,並將其存儲的所有文件導入redacted.com

當我測試以上OAuth流程時。嘗試把我的Dropbox帳戶和其他redacted.com用戶綁定在一起,一開始時我覺得這應該不難。

重定向的uri被列出來了,狀態參數也在那裡,雖然身份驗證碼不能使用兩次,但是我仍然測試了狀態參數,發現驗證過程時和當前用戶的session的有關聯。

所以,我不能簡單地給其他redacted.com用戶發送鏈接redacted.com/account/se********code=**********來攻擊。但是,出於好奇,我刪除了狀態參數,以其他用戶身份點擊了redacted.com/account/se**********,我驚訝的發現,我的Dropbox帳戶成功綁定到其他帳戶。

所以,最終,我可以通過一個GET請求將我的Dropbox帳戶與任何人的redacted.com帳戶綁定到一起。你可能會問,這有什麼用?又不可以使用Dropbox帳戶登錄redacted.com,系統沒這個功能。

但是,結合上一個XSS漏洞,我可以形成如下攻擊鏈。

利用場景

  1. 往Dropbox上傳一個文件名為{{constructor.constructor(『alert(1)』)()}}.jpg的文件。
  2. 將如下惡意URL,分享給受害者redacted.com/account/se**********
  3. 受害者一旦點擊,就會綁定到我的Dropbox帳戶,並自動從Dropbox導入所有文件,包括那個惡意XSS文件。
  4. 當用戶訪問上載的文件的管理頁面時,XSS便攻擊成功了。

總的來說,伺服器只會在狀態參數存在的情況下進行參數驗證,如果不存在狀態參數,那就直接下一步。

我們可以猜測後端驗證邏輯如下:

if(isset($_GET[state])){
if($_GET[state] != current_user_state)
ACCESS DENIED
exit()
}
ACCESS GRANTED

如上所述,一個利用OAuth漏洞來實現存儲型XSS的攻擊手法就完成了。

最後歡迎大家關注我的推特!

本文由白帽彙整理並翻譯,不代表白帽匯任何觀點和立場

來源:從低危OAuth漏洞到高危存儲型XSS|NOSEC安全訊息平台 - NOSEC.ORG

白帽匯從事信息安全,專註於安全大數據、企業威脅情報。

公司產品:FOFA-網路空間安全搜索引擎、FOEYE-網路空間檢索系統、NOSEC-安全訊息平台。

為您提供:網路空間測繪、企業資產收集、企業威脅情報、應急響應服務。


推薦閱讀:
相关文章