利用Opera瀏覽器中存儲(chǔ)的XSS漏洞讀取本地文件

2022-10-11    分類: 網(wǎng)站建設(shè)

Opera 管理著一個(gè)漏洞賞金計(jì)劃,研究人員可以在該計(jì)劃中報(bào)告 Opera 軟件中的漏洞并獲得獎(jiǎng)勵(lì)。

這篇文章就是我發(fā)現(xiàn)的一個(gè)漏洞——網(wǎng)頁(yè)可能會(huì)從用戶那里檢索本地文件的屏幕截圖。

利用 Opera 瀏覽器中存儲(chǔ)的XSS漏洞讀取本地文件

考慮到 Opera 是基于 Chromium 的,我做的第一件事就是下載一個(gè)新版本的 Opera 瀏覽器,并查看他們添加的新功能。其中一項(xiàng)功能稱被為Opera Pinboard,“Pinboard”功能,允許用戶創(chuàng)建圖釘板并分享圖釘,它基本上是一個(gè)筆記/書(shū)簽保護(hù)程序,可以與其他用戶共享,你可以向其中添加文本、圖像和鏈接。

此服務(wù)的 URI 是 https://pinboard.opera.com/。但是,在 Opera 中打開(kāi)此頁(yè)面時(shí),我被重定向到了 Opera:pinboards。 opera: scheme是 Opera 中的一個(gè)特殊位置,類似于 Chrome 的 chrome:,并且具有普通頁(yè)面沒(méi)有的特殊權(quán)限。通過(guò)使用網(wǎng)絡(luò)代理,我發(fā)現(xiàn)在將新鏈接作為 pin 添加到我的 pinboard 時(shí),一個(gè)請(qǐng)求會(huì)被發(fā)送到pinboard.opera-api.com,如下所示:

利用 Opera 瀏覽器中存儲(chǔ)的XSS漏洞讀取本地文件

標(biāo)簽內(nèi)的 URI 由瀏覽器解析,并發(fā)送到 pinboard API,然后添加到 opera:pinboards 中的本地版本。

我的想法是,如果我可以向鏈接到 javascript URI 的 opera:pinboards 添加一個(gè) pin,我就可以從特權(quán)方案中執(zhí)行跨站點(diǎn)腳本 (XSS)。在執(zhí)行了許多測(cè)試之后,我發(fā)現(xiàn)固定 URI javascript:@opera.com 是可能的,并且它在我的 pinboard 中顯示為一個(gè)可點(diǎn)擊的鏈接!這樣,我們就有了 XSS!

經(jīng)過(guò)多次嘗試,我最終想出了有效載荷 javascript:'@opera.com/';alert(1),它在我的pinboard內(nèi)單擊時(shí)會(huì)導(dǎo)致彈出窗口。但是,有一個(gè)小問(wèn)題:pinboard 界面中的標(biāo)簽使用了屬性 target=_blank,這意味著在頁(yè)面上點(diǎn)擊的任何鏈接都會(huì)在新窗口中被打開(kāi),并且不會(huì)在頁(yè)面內(nèi)執(zhí)行 javascript。幸運(yùn)的是,有一個(gè)小技巧:如果你命令 (Ctrl) + 單擊或中鍵單擊鏈接,代碼會(huì)成功運(yùn)行。

利用 Opera 瀏覽器中存儲(chǔ)的XSS漏洞讀取本地文件

通過(guò)在opera:pinboards 頁(yè)面上使用簡(jiǎn)單的XSS,我想展示比點(diǎn)擊鏈接時(shí)簡(jiǎn)單地彈出一個(gè)更大的影響。

如前所述,opera: scheme比普通網(wǎng)頁(yè)擁有更多權(quán)限:它還可以訪問(wèn)一些本機(jī)函數(shù)調(diào)用,并允許查看其他選項(xiàng)卡,繞過(guò)瀏覽器的同源策略 (SOP)。它還允許加載文件:scheme,可用于查看本地文件。然而,它不允許所有原生函數(shù)被使用,這將允許完全控制和訪問(wèn)其他標(biāo)簽,例如,注入javascript將復(fù)制整個(gè)頁(yè)面的內(nèi)容并發(fā)送到我的服務(wù)器。

這樣,我就制作了一個(gè)腳本來(lái)執(zhí)行以下操作:

使用本機(jī)函數(shù) chrome.tabs.create 創(chuàng)建一個(gè)新選項(xiàng)卡,在本示例中,新選項(xiàng)卡打開(kāi) file:///etc/passwd。 使用 Opera Pinboards 用于創(chuàng)建 pin 縮略圖的相同函數(shù) opr.pinboardPrivate.getThumbnail 創(chuàng)建打開(kāi)的選項(xiàng)卡的屏幕截圖。

將截圖以base64編碼的PNG格式發(fā)送到我的服務(wù)器,然后我就可以查看它了。

創(chuàng)建一個(gè)新的 pinboard 來(lái)導(dǎo)入腳本以執(zhí)行上述所有這些步驟,我添加了一個(gè)新 pin,當(dāng)點(diǎn)擊它時(shí),會(huì)發(fā)送我盜竊的 /etc/passwd 文件的屏幕截圖。我通過(guò)BugCrowd頁(yè)面向Opera發(fā)送了這個(gè)概念的視頻證明。

目前本文所講的這個(gè)漏洞已經(jīng)被修復(fù)。

分享名稱:利用Opera瀏覽器中存儲(chǔ)的XSS漏洞讀取本地文件
文章路徑:http://www.muchs.cn/news9/204609.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、Google、定制開(kāi)發(fā)面包屑導(dǎo)航、網(wǎng)站改版、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化