Verizon Message(Message+)是一組可用于移動端、桌面環境和網絡應用的軟件客戶端的總稱,致力于提高和統一跨設備的VZW文本消息的使用體驗。除短信外,它還提供了一些額外的功能,其中讓我最感興趣的就是可以在電腦或筆記本上使用它的web應用。
首先,我安裝了它的Android應用并且進行登錄,然后我登進它的web界面開始使用。不一會兒,我就注意到在移動端和web界面上都會對包含鏈接的消息進行預覽并顯示概要。
我對它們支持什么類型的鏈接(圖片、視頻等等)和它們是怎么解析這些鏈接的這兩個問題很感興趣。使用web應用來探索這些問題會相對容易和方便一些,所以我給自己發送了一些測試鏈接。下圖展示了一些測試鏈接的呈現方式。

很明顯:HTML網頁被解析到服務器端,并且返回了該URL的Open Graph屬性。下面是部分的響應包內容:
{
"webPreview": {
"valid": true,
"url": "http://money.cnn.com/2017/05/13/technology/ransomware-attack-nsa-microsoft/index.html",
"title": "Ransomware: World reels from massive cyberattack",
"description": "Organizations around the world were digging out Saturday from what experts are calling one of the biggest cyberattacks ever. ",
"imageUrl": "/vma/web2/attachment/WebPreview.do?id=KDvS9ip4Afj6fPMTClAzqhegDyT9mSaM0zrQQfrBu8EbtJ0Xu_DyughZu53i-vOLkSeEpbLIk756f4o6igDFp0VHU5kVYFnJoeshsfy7eR3Q8XGwTY_rsu3FHEAAI4DJEmqYl7yBEqeWKSTYUnl48LRpXAokSGi1LWdWZqP0Bovl_EVMpdWB2JfnUz8Qxb0d&mdn=3026323617",
"imageDim": {
"width": 420,
"height": 236
}
}
}
如你所見,響應包中包含了在UI上預覽到的元素的OG屬性。注意imageUrl標簽中的鏈接,實際上是Verizon服務器返回(而不是外部主機)的一個代理服務器上的圖片——這是一個可以對呈現在用戶瀏覽器中的圖片進行更多掌控的妙招:

由于“attachment”的預覽屬性是異步獲取的(并且結果呈現在客戶端),我決定檢查一下有沒有忽視的DOM XSS。我給自己發送了更多的測試鏈接——這次我加入了一些特殊的字符,看看web應用是如何呈現它們的。在發送了一些查詢字符串中包含單引號的測試鏈接后,我馬上注意到可以突破上面main anchor對象的HREF屬性,下面是一個payload示例:
/article/UploadPic/2017-5/2017524213631133.jpg?',g);
a.innerText = b[f].original;
更新:似乎他們最后的確使用了DOM API來解決這個問題——如下圖。

揭露
我把這個問題的PoC和屏幕截圖、視頻等資料發送給了Verizon。一如既往,他們很快做出了回應,感謝我的報告,并且迅速修復了這個問題。
2016-11-18 發送漏洞初步報告
2016-11-18 收到回應,正在處理
2016-12-09 確認發布補丁
|