7.2 KiB
DOM Invader
零基础学习AWS黑客攻击直至成为专家 htARTE (HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载HackTricks的PDF,请查看订阅计划!
- 获取官方PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。**
DOM Invader
DOM Invader是一个安装在Burp内置浏览器中的浏览器工具。它通过使用各种源和汇,包括web消息和原型污染,帮助检测DOM XSS漏洞。该工具作为扩展程序预装。
DOM Invader在浏览器的DevTools面板中集成了一个标签页,使能以下功能:
- 识别可控汇在网页上进行DOM XSS测试,提供上下文和清理细节。
- 记录、编辑和重新发送web消息通过
postMessage()
方法发送进行DOM XSS测试。DOM Invader还可以使用特别制作的web消息自动检测漏洞。 - 检测客户端原型污染源并扫描发送到危险汇的可控小工具。
- 识别DOM篡改漏洞。
启用它
在Burp的内置浏览器中,转到Burp扩展并启用它:
现在刷新页面,在Dev Tools中你会找到DOM Invader标签页:
注入一个Canary
在上图中你可以看到一个随机字符组,那是Canary。你现在应该开始注入它在网页的不同部分(参数、表单、URL...),每次点击搜索它。DOM Invader将检查canary是否结束在任何有趣的汇中,这些汇可能被利用。
此外,注入URL参数和注入表单的选项将自动打开一个新标签页,注入canary在它找到的每个URL参数和表单中。
注入一个空的Canary
如果你只想找到页面可能有的潜在汇,即使它们不可利用,你可以搜索一个空的canary。
Post消息
DOM Invader允许使用web消息测试DOM XSS,功能包括:
- 记录web消息通过
postMessage()
发送,类似于Burp Proxy的HTTP请求/响应历史记录。 - 修改和重新发出web消息以手动测试DOM XSS,类似于Burp Repeater的功能。
- 自动更改和发送web消息以探测DOM XSS。
消息详情
你可以点击每条消息查看更多关于它的详细信息,包括客户端JavaScript是否访问了消息的origin
、data
或source
属性。
origin
:如果消息的来源信息没有检查,你可能能够从任意外部域发送跨域消息到事件处理器。但即使检查了,它仍然可能不安全。data
:这是发送有效载荷的地方。如果这些数据没有被使用,汇就没用。source
:评估是否验证了通常引用iframe的source属性,而不是origin。即使这被检查了,也不能保证验证不能被绕过。
回复一条消息
- 从消息视图中,点击任何消息打开消息详情对话框。
- 根据需要编辑数据字段。
- 点击发送。
原型污染
DOM Invader还可以搜索原型污染漏洞。首先,你需要启用它:
然后,它将搜索源,使你能够向**Object.prototype
**添加任意属性。
如果找到了任何东西,一个测试按钮将出现以测试找到的源。点击它,一个新标签页将出现,在控制台创建一个对象并检查是否存在testproperty
:
let b = {}
b.testproperty
一旦你找到了一个源,你可以扫描小工具:
- 从 DOM 视图中,点击任何一个 DOM Invader 找到的原型污染源旁边的 扫描小工具 按钮。DOM Invader 会打开一个新标签页并开始扫描合适的小工具。
- 在同一个标签页中,打开 DevTools 面板中的 DOM Invader 标签。扫描完成后,DOM 视图会显示 DOM Invader 能够通过识别的小工具访问的任何接收点。在下面的例子中,一个名为
html
的小工具属性被传递给了innerHTML
接收点。
DOM 篡改
在前面的图片中可以看到,DOM 篡改扫描可以被打开。一旦完成,DOM Invader 将开始搜索 DOM 篡改漏洞。
参考资料
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/enabling
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-xss
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/web-messages
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/prototype-pollution
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-clobbering
通过 htARTE (HackTricks AWS Red Team Expert)从零到英雄学习 AWS 黑客攻击!
支持 HackTricks 的其他方式:
- 如果你想在 HackTricks 中看到你的公司广告或下载 HackTricks 的 PDF,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 发现PEASS 家族,我们独家的 NFTs 收藏
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享你的黑客技巧。