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