xss漏洞 xss-labs部分关卡

发布时间:2026/11/1 12:28:47

xss漏洞 xss-labs部分关卡 Web应用程序对用户输入的数据未进行严格过滤或转义导致攻击者能将恶意脚本注入到网页中并被浏览器执行。常用手段若没有任何过滤可以采取scriptalert(1)/script部分可能需要js符号闭合则采取scriptalert(1)/script会过滤script但未存在大小写过滤则可采取Scriptalert(1)/Script会有大小写过滤且会过滤script未有重写法过滤则可采取Scrscriptiptalert(1)/scrscriptipt若过滤了实体转义的空格则可用回车代替a%0Aherfjavascript:alert(1)若存在html实体转义则可采取事件监听常用事件监听方法错误触发img srcx onerroralert(1)链接点击a herfjavascript:alert(1)鼠标移动onmouseoveralert(1)“第一关第一步观察环境urlhttp://xss/level1.php?nametest页面显示第二步查看源码按F12第三步构造payloadscriptalert(1)/script即可验证是否含有xss漏洞第二关第一步观察环境urlhttp://127.0.0.1/xss-labs-master/level2.php?keywordtest页面显示输入scriptalert(1)/script结果没有显示查看源码发现输入符号明显发现做了过滤但是没有完全过滤那就直接闭合value参数执行XSS语句输入scriptalert(1)/script即可第三关输入“scriptalert(1)/script”源代码显示采用第二关方法是可行的但是彻底过滤了那就不采用script转为使用javascript的onmouseover属性输入 οnmοuseοveralert(1)因为源代码使用了htmlspecialchars函数过滤输入把预定义的字符转换为 HTML 实体。第四关输入“scriptalert(1)/script”显示发现变为空格但可以闭合value值在输入 οnmοuseοveralert(1)即可第五关输入scriptalert(1)/script代码显示则script过滤为scr_ipt输入 οnmοuseοveralert(1)代码显示则onmouseover也被过滤那就采用闭合超链接输入a hrefjavascript:alert(1),然后点击超链接即可第六关输入scriptalert(1)/script代码显示则script过滤为scr_ipt输入 οnmοuseοveralert(1)代码显示则onmouseover也被过滤那就采用闭合超链接输入a hrefjavascript:alert(1)代码显示发现超链接长度不够爆破那就采用闭合大小写混用方式看过滤是否严格输入scRiptalert(1)/scRipt即可第七关输入“scriptalert(1)/script”代码显示则script完全过滤为空输入scRiptalert(1)/scRipt代码显示则大小写混用也被过滤那就采用闭合复写看是否过滤script输入scscriptriptalert(1)/scscriptript即可第八关发现超链接点击进去看到输入的值即为herf值考虑让连接中包含javascript的伪协议来运行alert(1)进行弹窗达成xss攻击则输入javascript:alert(1)再点击超链接显示script再次严格过滤那就考虑把语句改为unicode编码看是否能绕过输入ascii码转unicode语句即可第九关也是包含超链接那就直接输入javascript:alert(1)显示被转义了在采用上轮输入发现也被转义默认输入也被转义那就看直接的http协议是否能访问输入http://www.baidu.com发现可以那就先将上轮输入转义再在后面注释掉http协议即可第十关在url的keyword后输入1再看源码发现隐藏表单那就将隐藏表单的type改为text让我们能看到回显在keyword后输入123t_linktypetextt_historytypetextt_sorttypetext,多了个输入框且源码变为说明仅接受t_sort的值那就在t_sort文本框输入t_sorttypetext οnmοuseοveralert(1)即可第十一关在url的keyword后输入123再看源码发现隐藏表单那就将隐藏表单的type改为text让我们能看到回显在keyword后输入123t_linktypetextt_historytypetextt_sorttypetextt_reftypetext,发现失败因为双引号被过滤了但是t_ref参数这个参数有点像http的请求头的refer值。隐藏表单确实有值那就跟之前一样闭合打开hackbar点击load url再勾选referer将referer:后内容改为typetext οnmοuseοveralert(1)点击执行后点击输入框即可第十二关前车之鉴直接看源码发现这个Ua跟请求头里的user_agent一样那么就用之前的方法在hackbar上修改useragent的值typetext οnmοuseοveralert(1)点击执行点击输入框即可第十三关前车之鉴查看源码发现有个cook类似于请求头的cookie那就用之前发放在hackbar上修改cookie的值usertypetext οnmοuseοveralert(1)点击执行点击输入框第十四关页面引用了exif.js读取图的元数据包括注释且没有过滤因此在图的注释/描述字段上传带有恶意代码的scriptalert(1)/script再将该图上传即可第十五关稍作尝试发现本身具有HTML实体编码把实体转义了直接构造无法执行脚本F12发现有个ngInclude相当于前端的include把返回页面通过innerHTML方法嵌入html页面加载内部的html时会自动执行其中语句外部不会执行其中语句但不会执行script标签内容因此考虑在上传本地页面中添加恶意语句payload可以构造为事件报错监听?srclevel1.php?nameimg src1 onerroralert(1)或者用户交互事件监听?srclevel1.php?namea hrefXXXX onmouseoveralert(1)把鼠标移到这里/a或者点击超链接?srclevel1.php?namea hrefjavascript:alert(1)第十六关F12查看源代码发现test是插入到center标签中没必要闭合测试关键字,输入scriptalert(1)/script输入a hrefXXX οnmοuseοveralert(1)发现script和空格都被实体化了故只能采用用户交互时间监听不准用空格就用回车%0Apayload为a%0Aonmouseoveralert(1)将鼠标移动到这里/a或者a%0Aonmouseoveralert(1)用户在滑动过程中必定会触碰更隐蔽第十七关F12查看源代码embed标签定义一个区域可以放图片、视频、音频等内容但是当打不开文件时会存在错误区域可以绑定各种事件尝试各种标签发现会对字符转义为html实体导致无法执行其中语句只能采用事件监听但是注意embed标签不支持onerror事件故构造payload%20onmouseoveralert(1)本关需要使用chrome浏览器firefox不支持embed标签第十八关基本同第十七关只是将空格转移为了html实体导致无法执行后续语句故构造payload%0aonmouseoveralert(1)第十九关和第二十关采用flash触发的xss漏洞但目前已经全面停用暂且难以复现后面两关
延伸阅读

更多相关文章

2026/10/25 17:49:15

第一批找不到工作的年轻人,靠AI收入6位数

前言 最近,参加秋招的同学再一次感受到了AI的力气和手段。 先是有同学利用AI辅助面试,狂收offer:好家伙,面试官问问题的速度赶不上用AI“打小抄”的速度:还有同学直接打入AI内部,本着“替我打工&#xff0c…

2026/11/2 4:35:02

用电量数据分享实战:从契约设计到增量交付的完整指南

简介:这份资源面向制造业能源管理与时间序列预测方向的学习者,围绕用电量数据展开 LSTM 建模实践,帮助读者理解如何用循环神经网络捕捉电力消耗中的季节性、周期性与趋势性,并完成训练与预测的完整流程。压缩包共 106 个文件&…

2026/11/2 4:35:02

智慧食堂采购系统开发与供应商管理实践

1. 智慧食堂采购系统概述智慧食堂采购系统是餐饮行业数字化转型的核心模块,它通过信息化手段重构了传统食堂的供应链管理体系。我参与过多个大型企业食堂的智能化改造项目,这套系统最显著的价值在于将原本依赖人工经验的采购流程转化为数据驱动的标准化操…

2026/11/2 4:35:02

向量库选型实战:FAISS、Chroma、PGVector 场景对比与落地指南

1. 向量库选型的核心逻辑与场景拆解做RAG应用、语义搜索或者推荐系统的朋友,大概率都绕不开一个环节:向量数据存哪儿、怎么查。我最早做语义检索的时候,图省事直接把几万条向量塞进NumPy数组里,用的时候暴力算余弦相似度&#xff…

2026/11/2 4:35:02

Wails v2 + Go + Vue3:构建轻量级AI桌面应用实战

桌面端 AI 应用这件事,我从 Electron 一路折腾到 Tauri,最后在 Wails v2 上停了下来。原因很直接:我想要一个前端能用 Vue3 写、后端能用 Go 写、打包出来体积还能控制在几十兆的桌面程序,而不是一个动辄两百兆起步、内存占用像开…

2026/11/2 4:35:02

烽火光猫调试软件实战:从设备发现到VLAN配置与故障排查

简介:烽火光猫厂家调试软件是面向网络运维人员与宽带装维技术人员的专用维护工具,用于烽火品牌光猫(ONU)的配置、诊断与故障处理,适合需要深入管理光纤接入设备的初中级技术人员参考使用。压缩包共43个文件、约30.7MB&…

2026/11/2 4:30:01

从单Agent到多Agent:Codex闭环与A2A协作协议解析

做 Agent 开发这两年,我越来越确认一个判断:单 Agent 是工程问题,多 Agent 是协议问题。从 OpenAI 的 Codex 把 Agent 循环做到产品级,到 Google 牵头把 A2A(Agent2Agent)协议推进 Linux 基金会&#xff0c…

2026/11/1 0:01:26

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/1 1:01:33

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业级SPI隔离设计:硬件抗扰与信号完整性实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

PLFM_RADAR:主动探测数据通道,构建低误报的数据感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业SPI隔离设计:MAX14431与STM32F746硬件抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/1 0:01:26

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/1 1:01:33

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑