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=>
相关推荐
bug总结6 小时前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript
晴殇i6 小时前
深入理解MessageChannel:JS双向通信的高效解决方案
前端·javascript·程序员
毕设十刻6 小时前
基于Vue的民宿管理系统st4rf(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
kkkAloha6 小时前
倒计时 | setInterval
前端·javascript·vue.js
云轩奕鹤6 小时前
智析单词书 - AI 驱动的深度英语词汇学习平台
前端·ai·产品·思维
逆光如雪6 小时前
控制台快速查看自己的log,提高开发效率
前端
用户47949283569156 小时前
年薪百万的 React 功底怎么“装进”AI?Vercel 的这个 Skill 给了标准答案
前端·aigc·ai编程
jason_yang6 小时前
这5年在掘金的感想
前端·javascript·vue.js
一人の梅雨6 小时前
亚马逊SP-API商品评论接口实战:情感分析+商业洞察挖掘的差异化方案
运维·前端·数据库
掘金一周6 小时前
Dart 官方再解释为什么放弃了宏编程,并转向优化 build_runner ?| 掘金一周 1.15
前端