利用 Opera 浏览器中存储的XSS漏洞读取本地文件

Opera 管理着一个漏洞赏金计划,研究人员可以在该计划中报告 Opera 软件中的漏洞并获得奖励。

这篇文章就是我发现的一个漏洞——网页可能会从用户那里检索本地文件的屏幕截图。

[[425610]]

考虑到 Opera 是基于 Chromium 的,我做的第一件事就是下载一个新版本的 Opera 浏览器,并查看他们添加的新功能。其中一项功能称被为Opera Pinboard,“Pinboard”功能,允许用户创建图钉板并分享图钉,它基本上是一个笔记/书签保护程序,可以与其他用户共享,你可以向其中添加文本、图像和链接。

此服务的 URI 是 https://pinboard.opera.com/。但是,在 Opera 中打开此页面时,我被重定向到了 Opera:pinboards。 opera: scheme是 Opera 中的一个特殊位置,类似于 Chrome 的 chrome:,并且具有普通页面没有的特殊权限。通过使用网络代理,我发现在将新链接作为 pin 添加到我的 pinboard 时,一个请求会被发送到pinboard.opera-api.com,如下所示:

标签内的 URI 由浏览器解析,并发送到 pinboard API,然后添加到 opera:pinboards 中的本地版本。

我的想法是,如果我可以向链接到 javascript URI 的 opera:pinboards 添加一个 pin,我就可以从特权方案中执行跨站点脚本 (XSS)。在执行了许多测试之后,我发现固定 URI javascript:@opera.com 是可能的,并且它在我的 pinboard 中显示为一个可点击的链接!这样,我们就有了 XSS!

经过多次尝试,我最终想出了有效载荷 javascript:’@opera.com/’;alert(1),它在我的pinboard内单击时会导致弹出窗口。但是,有一个小问题:pinboard 界面中的标签使用了属性 target=_blank,这意味着在页面上点击的任何链接都会在新窗口中被打开,并且不会在页面内执行 javascript。幸运的是,有一个小技巧:如果你命令 (Ctrl) + 单击或中键单击链接,代码会成功运行。

通过在opera:pinboards 页面上使用简单的XSS,我想展示比点击链接时简单地弹出一个更大的影响。

如前所述,opera: scheme比普通网页拥有更多权限:它还可以访问一些本机函数调用,并允许查看其他选项卡,绕过浏览器的同源策略 (SOP)。它还允许加载文件:scheme,可用于查看本地文件。然而,它不允许所有原生函数被使用,这将允许完全控制和访问其他标签,例如,注入javascript将复制整个页面的内容并发送到我的服务器

这样,我就制作了一个脚本来执行以下操作:

  • 使用本机函数 chrome.tabs.create 创建一个新选项卡,在本示例中,新选项卡打开 file:///etc/passwd。
  • 使用 Opera Pinboards 用于创建 pin 缩略图的相同函数 opr.pinboardPrivate.getThumbnail 创建打开的选项卡的屏幕截图。

将截图以base64编码的PNG格式发送到我的服务器,然后我就可以查看它了。

创建一个新的 pinboard 来导入脚本以执行上述所有这些步骤,我添加了一个新 pin,当点击它时,会发送我盗窃的 /etc/passwd 文件的屏幕截图。我通过BugCrowd页面向Opera发送了这个概念的视频证明。

目前本文所讲的这个漏洞已经被修复。

本文翻译自:

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

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/125480.html<

(0)
运维的头像运维
上一篇2025-02-23 18:40
下一篇 2025-02-23 18:41

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注