加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

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

发布时间:2021-10-12 14:35:04 所属栏目:安全 来源:互联网
导读:Opera 管理着一个漏洞赏金计划,研究人员可以在该计划中报告 Opera 软件中的漏洞并获得奖励。 这篇文章就是我发现的一个漏洞网页可能会从用户那里检索本地文件的

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

 

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

 

 

 

考虑到 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) + 单击或中键单击链接,代码会成功运行。

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读