将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

admin 2025年2月17日13:45:59评论38 views字数 1265阅读4分13秒阅读模式

[写入] 将 XSS 存储到 Onclick 事件中,使用尖括号和双引号 HTML 编码,单引号反斜杠转义

介绍

标题为将 XSS 存储到带尖括号和双引号的 onclick 事件中,HTML 编码和单引号和反斜杠转义的实验探讨了 Web 应用程序注释功能中的存储跨站点脚本 (XSS) 漏洞。此漏洞是由于 HTML 事件属性中用户输入的清理不足而引起的。onclick

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs
将 XSS 存储到带有尖括号和双引号的 Onclick 事件中,HTML 编码和单引号和反斜杠转义

在本实验中:

  • 尖括号 (, ) 和双引号 () 是 HTML 编码的,可防止直接注入新的 HTML 标记或属性。<>"
  • 单引号 () 和反斜杠 () 被转义,从而限制在有效负载中使用某些字符。'
  • 该质询需要绕过这些清理措施,以注入当用户点击评论作者姓名时触发的 JavaScript 有效负载(例如 )。alert()

免责声明:本文档中描述的技术仅用于在 PortSwigger Labs 的受控环境中进行道德使用,用于教育和培训目的。严禁在经批准的环境之外未经授权使用这些方法,因为这是非法的、不道德的,并且可能导致严重后果。

负责任地行事、遵守所有适用法律并遵守既定的道德准则至关重要。严禁任何利用安全漏洞或损害他人安全、隐私或完整性的活动。

目录

  1. 漏洞摘要
  2. 复制步骤和概念验证(POC)
  3. 冲击
  4. 缓解

漏洞摘要

此实验在评论功能中包含存储的跨站点脚本 (XSS) 漏洞。攻击者可以将恶意 JavaScript 注入注释作者字段。

当受害者单击作者姓名时,有效负载(例如 )将执行。该挑战涉及制作绕过输入清理的有效负载(例如,尖括号/双引号的 HTML 编码和单引号/反斜杠的转义)。alert()

复制步骤和概念验证(POC)

1. 打开 XSS 实验室并选择其中一篇示例文章。

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

2. 填写评论部分,在输入字段中包括有效负载。

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs
将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

3. 返回 Burp Suite 的 HTTP 历史记录并检查服务器的响应,其中显示了应用于有效负载的清理。

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

4. 请注意,该事件反映了评论部分的 URL 输入。onclick

5. 尝试在 URL 表单中注入第二个有效负载:

/?&apos;&quot;&gt;&lt;img src=x onerror=alert(1)&gt;//

/?&apos;&quot;&gt;&lt;imgsrc=x onerror=alert(1)&gt;//
将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

6. 使用开发人员工具检查浏览器的响应(按 F12)。

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

7. 观察某些 HTML 字符被转换回(单引号)&apos;

8. 注入下一个有效负载:

/?&apos;-top[`alert`](1)-&apos;
将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

9. 返回评论部分并点击用户名。

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

10. 有效负载成功执行,并触发一个带有 .alert(1)

11. 实验室现已解决

将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

冲击

  • 攻击者可以窃取会话 Cookie 来冒充用户
  • 存储型 XSS 会影响查看受感染评论的所有用户,从而扩大攻击的范围

缓解

  • 利用 DOMPurify 等库清理 HTML
  • 将事件处理程序替换为更安全的替代方案(例如,具有严格验证的事件侦听器)onclick

原文始发于微信公众号(安全狗的自我修养):将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labs

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月17日13:45:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   将 XSS 存储到 Onclick 事件中:绕过尖括号、双引号和转义字符 — XSS Labshttps://cn-sec.com/archives/3746914.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息