自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

[[425610]]

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

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

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

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

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

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

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

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

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

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

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

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

本文翻譯自:

https://blogs.opera.com/security/2021/09/bug-bounty-guest-post-local-file-read-via-stored-xss-in-the-opera-browser/

 

責(zé)任編輯:趙寧寧 來源: 嘶吼網(wǎng)
相關(guān)推薦

2009-05-07 19:02:44

2010-03-10 09:10:29

2010-07-21 16:07:02

Opera Turbo瀏覽器

2010-03-08 11:14:10

2014-06-24 15:43:56

Opera瀏覽器

2023-02-17 09:31:39

Opera瀏覽器ChatGPT

2019-08-16 10:54:03

本地存儲(chǔ)javascripthttp緩存

2018-11-30 09:00:19

html5cssjavascript

2012-05-26 23:26:05

Opera瀏覽器

2010-01-18 10:34:59

2009-03-15 10:21:18

YahooOpera瀏覽器

2013-03-06 11:10:12

WebKit瀏覽器

2015-08-13 10:15:03

Opera瀏覽器

2020-09-23 12:58:14

Mojo IPC

2010-11-01 17:49:30

2012-11-30 09:28:45

2014-03-05 13:12:11

Opera 20瀏覽器

2009-03-10 08:23:59

2015-02-01 09:53:40

Vivaldi瀏覽器

2010-03-03 08:49:36

Opera新版發(fā)布
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)