如何发现domxss

admin 2025-12-25 03:04:55 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了利用浏览器开发者工具断点调试法发现DOM型XSS漏洞的技巧。核心思路是在DOMsink处设置断点,通过拦截事件处理程序触发时的变量状态,验证输入点是否可控并成功执行危险操作。文章通过location.href赋值实例,演示了利用javascript协议进行XSS攻击的具体过程。 综合评分: 70 文章分类: WEB安全,漏洞分析,渗透测试,代码审计,漏洞POC


cover_image

如何发现domxss

原创

intigriti

迪哥讲事

2025年12月23日 09:01 江苏

如何发现domxss

正文

之前写过dom xss的一些基础: https://t.zsxq.com/DRGoP

里面介绍了基本的source和sink,本质上来讲,寻找dom 类型的xss就是去寻找source和sink,然后去进行js代码审计

除了这个思路以外,本文主要介绍另外一种方法

这种方法涉及在运行时主动拦截由事件处理程序触发的 DOM 事件。 需要使用浏览器的开发者工具,在 DOM sink 的位置进行搜索,并在输入可能被处理的地方设置断点。

下面通过一个例子来展示一下

目标: https://example.com/?r=intigriti&x=1

脚本逻辑:

从 URL 取参数 r

从 URL 取参数 x

如果 x 存在,就执行:

location.href = r;

➤ 攻击者的思路:

如果 r 可以被控制,且被直接赋给 location.href → 就有可能导致开放重定向,甚至链式 XSS。

① 在 DevTools 中搜索 DOM sinks

(你已经做了)

你搜索了 location、href、或 intigriti,找到了相关代码。

② 在关键语句设置断点 例如:

if (x) location.href = r;

设置一个 断点。

③ 触发页面加载 → JavaScript 在这里暂停 现在能在 Scope 中看到:

payload( r: “intigriti” )已经进入脚本

程序即将执行危险的 sink(location.href)

这就是 DOM-based XSS 调试的核心:

👉 通过断点,在危险函数执行前把攻击者输入“截获”下来。

尝试把 r 注入为恶意 URL,例如:

https://example.com/?r=javascript:alert(1)&x=1

调试时会看到: Scope 显示:

r: "javascript:alert(1)"
x: "1"

执行到:

location.href = r;

浏览器就会执行:

location.href = "javascript:alert(1)";

→ XSS 弹窗触发

如果你是一个长期主义者,欢迎加入我的知识星球,本星球日日更新,绝非简单搬运,包含号主大量一线实战,全网独一无二,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款

往期回顾

#

如何利用ai辅助挖漏洞

#

如何在移动端抓包-下

#

如何绕过签名校验

#

一款bp神器

挖掘有回显ssrf的隐藏payload

ssrf绕过新思路

一个辅助测试ssrf的工具

dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips‍

参考

https://www.intigriti.com/researchers/blog/hacking-tools/exploiting-dom-based-xss-vulnerabilities


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:迪哥讲事 intigriti《如何发现domxss》

评论:0   参与:  2