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=>
相关推荐
良逍Ai出海5 分钟前
免费模板搭完独立站后,我用 Codex + Figma 做了自己的页面设计
前端·人工智能·figma
纽格立科技9 分钟前
DRM 发射端链路图(下)
前端·人工智能·车载系统·信息与通信·传媒
代码小库12 分钟前
【2026前端转 AI 全栈指南】第 2 章(下):NestJS 项目创建 · MongoDB 配置 · 项目启动与调试
前端·数据库·mongodb
之歆21 分钟前
Promise 基础技术深度解析:从回调地狱到链式调用
前端·okhttp·promise
甲维斯23 分钟前
国产版“Codex”初体验,智谱ZCode很强啊!
前端·人工智能·ai编程
道友可好25 分钟前
AI 怎么自己跑完一个 6 小时的任务?
前端·人工智能·后端
To_OC38 分钟前
通义千问多模态生图踩坑记:我是如何把两个报错逐个干翻的
前端·aigc·vite
Bigfish_coding42 分钟前
前端转agent-第一周【python】-02 FastAPI与Pydantic实战(TS/JS视角)
前端
秃头网友小李43 分钟前
前端难点:Vue3 响应式遇上 Three.js / ECharts —— 为什么要用 shallowRef?
前端·vue.js
梦曦i44 分钟前
Vite插件开发框架:14个实用插件与完整工具包
前端