freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Posta:一款功能强大的跨文档信息安全搜索工具
2021-04-27 22:03:13

关于Posta

Posta是一款功能强大的跨文档信息安全搜索工具,广大研究人员可以使用Posta来研究跨文档的信息通信,它允许我们跟踪、探测和利用postMessage漏洞,而且还可以重放任何绑定窗口和浏览器之间的消息。

工具要求

Chrome Chrome / Chromium

Node.js(可选)

工具安装

开发环境

我们可以在专用浏览器(Chromium)中以完整的开发环境运行Posta。

首先,我们需要运行下列命令来安装Posta:

git clone https://github.com/benso-io/posta

cd posta

npm install

接下来,使用下列命令启动专用Chromium会话:

node posta <URL>

最后,点击Posta扩展并导航至工具用户UI界面。

开发模式包含一台本地Web服务器,它负责托管一个小型的测试网站和漏洞利用页面。以开发模式运行时,我们可以访问http://localhost:8080/exploit/来访问漏洞利用页面。

Chrome扩展

我们还能够以Chrome / Chromium扩展的形式来运行Posta。

首先,使用下列命令将该项目源码克隆至本地:

git clone https://github.com/benso-io/posta.git

接下来,访问chrome://extensions,此时需要确保浏览器为开发者模式。然后点击“Load upacked”,选择Posta中的chrome-extension目录,并将其上传至你的浏览器中,最后加载扩展。

将扩展与浏览器绑定之后,访问我们需要测试的网站,点击Posta扩展导航至UI界面即可。

工具使用

Tabs

在Tabs下,你可以找到我们的源地址,其中包含对应的iframe和通信会话。我们可以选择指定的frame,并观察跟该frame相关的postMessages:

Messages

在Messages中,我们可以检查所有从源地址发送至iframes的postMessage流量。我们可以选择需要深入分析的通信会话,监听器部分会显示负责处理通信的相关代码,点击之后还可以直接拷贝代码内容:

Console

在Console部分,我们可以修改原始的postMessage流量,并使用篡改后的内容重放消息,这些信息将通过源地址发送至iframe。

我们可以通过修改postMessage的内容来查看目标站点是否会受这种攻击方式的影响。如果成功了,我们就可以尝试去从不同的源来利用该漏洞了,这一步可以通过点击“Simulate exploit”实现:

Exploit

点击“host”按钮即可导航至漏洞利用窗口:

在Exploit部分,Posta将会尝试并将特定源托管为iframe来初始化postMessage通信。但如果源网站启用了X-Frame-Options的话,我们大多数时候都无法执行攻击了。

因此,为了实现漏洞利用,我们还需要通过初始化window.open方法来获取到跟源地址绑定的通信引用,这里可以点击“Open as tab”来实现。

接下来,我们就可以点击“Exploit”按钮,并指定Payload进行跨源通信测试了:

项目地址

Posta:https://github.com/benso-io/posta

# 数据安全 # 信息收集 # postMessage
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录