浅记一次某企业邮的XSS漏洞挖掘

浅记一次某企业邮的XSS漏洞挖掘

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

作者测试企业邮箱系统时发现存储型XSS漏洞,利用抓包绕过长度限制改变企业名称。文章提到了XSS的技巧和注意事项。

🔎

延伸解读

存储型XSS的触发点:扫码登录环节

文章指出,扫码登录时选择账号的页面会渲染企业名称,若企业名称包含未转义的HTML标签,便会触发存储型XSS。这一触发点容易被忽略,因为安全测试常聚焦于主功能页面,而登录流程中的展示环节可能缺乏同等防护。作者通过注册新企业并抓包绕过长度限制,成功注入payload,说明在账号选择等边缘交互点也需进行XSS测试。

抓包绕过长度限制的实战意义

在注册或修改企业名称时,前端通常有长度限制,但作者通过抓包修改GET和POST请求,绕过了这一限制,从而写入完整的XSS payload。这提醒测试者,前端限制不可信,后端若未做同等校验,攻击者仍可提交超长或恶意内容。对于企业邮箱这类多用户系统,此类漏洞可能影响其他用户,如扫码登录时触发。

XSS payload的变形与绕过技巧

文章分享了两个绕过案例:一是<video>标签中<source>被过滤,通过改用<video onloadstart=alert(1) autoplay source src=...>成功触发;二是markdown中利用javascript:伪协议和onerror事件。这些例子表明,当常规payload被过滤时,可尝试标签属性、事件处理器或协议变形。测试时使用<h1>xss</h1>等明显标签有助于快速识别触发点。

❓

Q&A

什么是存储型XSS漏洞?

存储型XSS漏洞是一种安全漏洞,攻击者可以将恶意脚本存储在服务器上,当用户访问时执行这些脚本。

作者是如何发现XSS漏洞的?

作者通过测试企业邮箱系统,利用抓包技术绕过长度限制,成功更改企业名称,从而发现了存储型XSS漏洞。

在测试中,作者使用了哪些技术来触发XSS攻击?

作者使用了抓包技术修改请求,成功触发了XSS攻击,并展示了不同的payload示例。

扫码登录时触发XSS漏洞的原因是什么?

扫码登录时触发XSS漏洞是因为在选择登录账号时,某些标签未被正确转义,导致恶意脚本得以执行。

作者提到的payload示例有什么作用?

作者提供的payload示例展示了如何绕过安全机制并成功触发XSS攻击,帮助理解攻击方式。

在测试过程中,作者发现了多少个XSS点?

作者在测试过程中发现了多个XSS点,但大部分没有危害。

🏷️

标签

➡️

继续阅读