Posta:跨文档信息安全搜索工具

  • A+
所属分类:安全工具

关于Posta

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

Posta:跨文档信息安全搜索工具

工具要求

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:

Posta:跨文档信息安全搜索工具

Messages

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

Posta:跨文档信息安全搜索工具

Posta:跨文档信息安全搜索工具

Console

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

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

Posta:跨文档信息安全搜索工具

Posta:跨文档信息安全搜索工具

Exploit

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

Posta:跨文档信息安全搜索工具

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

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

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

Posta:跨文档信息安全搜索工具

项目地址

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


本文始发于微信公众号(盾山实验室):Posta:跨文档信息安全搜索工具

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: