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

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

Opera 管理著一個漏洞賞金計劃,研究人員可以在該計劃中報告 Opera 軟件中的漏洞并獲得獎勵。

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

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

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

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

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

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

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

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

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

通過在opera:pinboards 頁面上使用簡單的XSS,我想展示比點擊鏈接時簡單地彈出一個更大的影響。

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

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

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

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

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

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

當前題目:利用Opera瀏覽器中存儲的XSS漏洞讀取本地文件
文章地址:http://www.muchs.cn/news/204609.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、自適應網(wǎng)站、微信小程序、ChatGPT、外貿(mào)網(wǎng)站建設云服務器

廣告

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

h5響應式網(wǎng)站建設