SRC挖掘初探之随缘XSS挖掘
字数 1540 2025-08-26 22:11:15

SRC挖掘初探之随缘XSS挖掘技术详解

一、XSS漏洞挖掘基础概念

XSS(跨站脚本攻击)是Web应用中常见的安全漏洞,攻击者能够在受害者的浏览器中执行恶意JavaScript代码。本文将从SRC挖掘角度,通过实际案例讲解几种典型的XSS漏洞发现方法。

二、四种典型XSS漏洞案例解析

案例1:登录跳转处XSS

漏洞背景
某登录页面存在一个隐藏的cb参数,用于控制登录成功后的跳转行为。

漏洞分析

  1. 开发者对cb参数进行了过滤,要求必须包含normal.com域名
  2. 但过滤逻辑存在缺陷,可通过注释符绕过

关键代码

getParam: function(c_name) {
    var urlParams = location.href;
    var c_start = urlParams.indexOf(c_name + "=");
    if (c_start != -1) {
        c_start = c_start + c_name.length + 1;
        c_end = urlParams.indexOf("&", c_start);
        if (c_end == -1) {
            c_end = urlParams.length;
        }
        return urlParams.substring(c_start, c_end);
    }else{
        return null;
    }
}

绕过方法
cb=javascript:alert(document.cookie);//normal.com

防御建议

  • 严格限制跳转URL格式
  • 使用白名单机制验证跳转目标

案例2:图片上传处XSS

漏洞背景
移动端业务的问题反馈功能,允许上传图片并显示。

漏洞成因

  1. 服务端直接将用户控制的imglist参数拼接到``标签中
  2. 未对用户输入进行适当过滤和转义

攻击步骤

  1. 上传图片获取合法URI
  2. 修改imglist参数闭合src属性并添加onerror事件

POC

imglist=%22%20onerror=%22alert(`XSS`)%22%3E

防御建议

  • 对用户输入进行HTML实体编码
  • 使用CSP策略限制内联脚本执行

案例3:邮件提交处XSS

漏洞背景
邮箱密码验证功能,发送邮件后显示"邮件已发送+email"页面。

防护措施

  • WAF过滤了空格、双引号、尖括号和反斜杠
  • 实体化了HTML编码的尖括号
  • 参数长度限制(<40字符)
  • 正则过滤常见弹窗函数

绕过方法

  1. 利用HTML编码绕过引号过滤
  2. 使用onmouseover等非主流事件

POC

email=%22/onmouseover=%22alert(document.cookie)%22@qq.com

防御建议

  • 对所有用户输入进行统一编码处理
  • 限制可执行的事件处理程序

案例4:iframe加载受阻XSS

漏洞背景
通过iframe加载第三方服务,存在URL参数拼接问题。

漏洞特点

  • 特殊字符被实体化
  • 利用第三方服务的DOM-XSS间接攻击

攻击尝试

  1. 尝试加载外部JS资源
  2. 尝试跨域访问父页面document

POC

url=redirect_uri%3Djavascript%26%23x3A%3Bconsole.log(document\56cookie)

防御建议

  • 严格验证iframe加载的URL
  • 设置合适的CSP策略
  • 使用sandbox属性限制iframe权限

三、XSS挖掘实用工具与技术

1. SuperTags插件

用于监听请求并捕获隐蔽标签形式的XSS漏洞,特别适合发现参数在返回HTML中以隐蔽标签形式出现的情况。

2. 编码绕过技术

  • HTML实体编码:&#34;代替双引号
  • JS八进制编码:\56代替点号
  • 注释符绕过://注释掉过滤条件

3. 事件处理程序利用

除常见的onclickonload外,还可尝试:

  • onmouseover
  • onerror
  • accesskey组合键触发

四、XSS挖掘方法论

  1. 参数分析:仔细检查所有请求参数,包括隐藏参数
  2. 输出点定位:追踪参数在响应中的输出位置
  3. 上下文识别:确定输出点的HTML/JS上下文
  4. 过滤绕过:尝试各种编码和语法技巧绕过过滤
  5. 事件探索:测试不同事件处理程序的可用性

五、防御措施总结

  1. 对所有用户输入进行适当的编码/转义
  2. 实施严格的CSP策略
  3. 使用白名单验证所有重定向和iframe加载
  4. 对敏感操作实施二次验证
  5. 定期进行安全审计和渗透测试

六、进阶研究方向

  1. 基于DOM的XSS挖掘技术
  2. 结合CSRF的复合攻击手法
  3. 存储型XSS的持久化利用
  4. 基于Shadow DOM的XSS攻击
  5. Web Components环境下的XSS变种

通过系统性地学习和实践这些技术,安全研究人员可以更有效地发现和修复XSS漏洞,提升Web应用的整体安全性。

SRC挖掘初探之随缘XSS挖掘技术详解 一、XSS漏洞挖掘基础概念 XSS(跨站脚本攻击)是Web应用中常见的安全漏洞,攻击者能够在受害者的浏览器中执行恶意JavaScript代码。本文将从SRC挖掘角度,通过实际案例讲解几种典型的XSS漏洞发现方法。 二、四种典型XSS漏洞案例解析 案例1:登录跳转处XSS 漏洞背景 : 某登录页面存在一个隐藏的 cb 参数,用于控制登录成功后的跳转行为。 漏洞分析 : 开发者对 cb 参数进行了过滤,要求必须包含 normal.com 域名 但过滤逻辑存在缺陷,可通过注释符绕过 关键代码 : 绕过方法 : cb=javascript:alert(document.cookie);//normal.com 防御建议 : 严格限制跳转URL格式 使用白名单机制验证跳转目标 案例2:图片上传处XSS 漏洞背景 : 移动端业务的问题反馈功能,允许上传图片并显示。 漏洞成因 : 服务端直接将用户控制的 imglist 参数拼接到 `` 标签中 未对用户输入进行适当过滤和转义 攻击步骤 : 上传图片获取合法URI 修改 imglist 参数闭合 src 属性并添加 onerror 事件 POC : 防御建议 : 对用户输入进行HTML实体编码 使用CSP策略限制内联脚本执行 案例3:邮件提交处XSS 漏洞背景 : 邮箱密码验证功能,发送邮件后显示"邮件已发送+email"页面。 防护措施 : WAF过滤了空格、双引号、尖括号和反斜杠 实体化了HTML编码的尖括号 参数长度限制( <40字符) 正则过滤常见弹窗函数 绕过方法 : 利用HTML编码绕过引号过滤 使用 onmouseover 等非主流事件 POC : 防御建议 : 对所有用户输入进行统一编码处理 限制可执行的事件处理程序 案例4:iframe加载受阻XSS 漏洞背景 : 通过iframe加载第三方服务,存在URL参数拼接问题。 漏洞特点 : 特殊字符被实体化 利用第三方服务的DOM-XSS间接攻击 攻击尝试 : 尝试加载外部JS资源 尝试跨域访问父页面document POC : 防御建议 : 严格验证iframe加载的URL 设置合适的CSP策略 使用sandbox属性限制iframe权限 三、XSS挖掘实用工具与技术 1. SuperTags插件 用于监听请求并捕获隐蔽标签形式的XSS漏洞,特别适合发现参数在返回HTML中以隐蔽标签形式出现的情况。 2. 编码绕过技术 HTML实体编码: &#34; 代替双引号 JS八进制编码: \56 代替点号 注释符绕过: // 注释掉过滤条件 3. 事件处理程序利用 除常见的 onclick 、 onload 外,还可尝试: onmouseover onerror accesskey 组合键触发 四、XSS挖掘方法论 参数分析 :仔细检查所有请求参数,包括隐藏参数 输出点定位 :追踪参数在响应中的输出位置 上下文识别 :确定输出点的HTML/JS上下文 过滤绕过 :尝试各种编码和语法技巧绕过过滤 事件探索 :测试不同事件处理程序的可用性 五、防御措施总结 对所有用户输入进行适当的编码/转义 实施严格的CSP策略 使用白名单验证所有重定向和iframe加载 对敏感操作实施二次验证 定期进行安全审计和渗透测试 六、进阶研究方向 基于DOM的XSS挖掘技术 结合CSRF的复合攻击手法 存储型XSS的持久化利用 基于Shadow DOM的XSS攻击 Web Components环境下的XSS变种 通过系统性地学习和实践这些技术,安全研究人员可以更有效地发现和修复XSS漏洞,提升Web应用的整体安全性。