當前位置:
首頁 > 新聞 > Oculus CDN伺服器的XSS漏洞

Oculus CDN伺服器的XSS漏洞

前言


我來分享一個Facebook旗下公司Oculus網站存在的類似XSS漏洞,該漏洞最終獲得了Facebook官方$1500美金的獎勵。


Facebook在2014年3月宣布以20億美元收購虛擬現實(VR)頭戴設備製造商Oculus,Facebook計劃將Oculus的VR技術優勢擴大至新的垂直領域,如通信、媒體和娛樂、教育及其他領域等。

Oculus發布了定製化開源的開發者項目( Custom Developer Items),這項功能已向社區開發者推送。無論你是開發虛擬現實遊戲、社交體驗、娛樂還是教育類應用,都可以使用自己最喜歡的遊戲引擎或我們的原生 SDK 輕鬆地在整個 Oculus 平台上進行開發。它覆蓋了Oculus Rift + Touch 、Oculus Go 和 Samsung Gear VR + 控制器的VR產品,與主流開源的VR開發工具Unity結合,用戶可以定製化地開發屬於自己的應用。



漏洞發現及PoC


在Oculus網站的賬戶管理頁面https://dashboard.oculus.com/,註冊並登錄賬戶後,有一個服務端功能允許開發者上傳應用相關的asset資源文件,且所有asset資源文件都儲存在了」oculuscdn.com」網站中。例如,我們用該服務端功能上傳一個圖片文件時,其發送的POST請求如下:

POST /upload_image/ HTTP/1.1Host: graph.oculus.commultipart/form-data

之後,oculuscdn.com返回的響應如下:

HTTP/1.1 200 OK{「id」: 「1234567890012345」,「handle」: 「HANDLE_TO_THE_IMAGE」,「uri」: 「https://scontent.oculuscdn.com/v/t64.5771-25/12410200_1905973632996555_3168227744525844480_n.png?_nc_cat=0&oh=6163326b2eb5e87c16c6949f1e734611&oe=5AD840C8」}

其中包含了圖片的ID號,稱呼Handle和具體的訪問鏈接URL。可以看到,我們POST請求主機graph.oculus.com,Response中響應的主機為scontent.oculuscdn.com。這裡存在的漏洞就比較簡單了,不需要像之前facebook cdn的那樣需要進行cname域名替換,這裡直接把 /v/ 和HASH串去掉,就能訪問到目標圖片了。整個測試過程如下:



上傳PNG圖片,用BurpSuite攔截抓包;


攔截到上傳的PNG圖片內容,把惡意的帶XSS Payload的js外鏈添加在其末尾;


成功上傳後,從響應內容中提取出圖片上傳後的具體訪問URL鏈接;

然後,把URL中的 「/v/「 和 HASH串去掉去掉,再把上傳圖片的後綴格式由.jpg改為.html,就能成功載入之前添加進入的js惡意Payload了。


這裡,我用到的帶XSS Payload的js外鏈為:



https://www.amolbaikar.com/wp/js/oculus.js

最終的請求鏈接如下:



https://scontent.oculuscdn.com/t64.5771-25/12410200_1905973632996555_3168227744525844480_n.html


PoC視頻:


漏洞影響


該漏洞允許攻擊者在Oculus CDN伺服器上執行任意JS文件,好在有沙盒防護機制,其不能讀取用戶的cookies/session信息,但應用在實際的攻擊場景中,該漏洞可以繞過Facebook的鏈接黑名單系統 Linkshim,也能用其實施釣魚行為。


漏洞上報進程



2018.3.19: 漏洞初報


2018.3.22: 技術詳情提供


2018.3.22: Payload測試


2018.3.23: 漏洞有效性認可


2018.5.25: 漏洞修復


2018.6.1: $1500賞金髮放


*參考來源:amolbaikar,clouds編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

如何多視角發現安全問題,「淘」到不一樣的漏洞 |精品公開課
挖洞經驗 | 用跨站搜索在谷歌問題跟蹤平台實現敏感信息獲取

TAG:FreeBuf |