XSS-Labs靶场题目Level1-20详解(含知识点和解题思路)更新中

Level1

level1题目截图

观察题目和网页可以推测为反射型注入:

反射型注入简单来说就是通过GET传参的方式输入恶意弹窗代码。

输入的恶意代码会在后端进行处理,仅一次有效,不会在后端进行储存。

 Payload

GET传参

?name=<script>alert(1)</script>

Level2

 第二关多了一个输入框,可以知道输入的内容就是打印出来的内容,试着输入第一关的payload

代码被打印出来但并没有被执行,查看页面源代码。

 发现左右的尖括号被替换了,但是下面一行却完整的输出的内容,于是我们利用下面一行。

就需要把input标签闭合掉,才能成功执行script标签。

payload

"><script>alert(1)</script>

Level3

老规矩,尝试一下<script>alert</script>

打印出来了但没有执行,查看源代码

15行和17行两处都对尖括号进行了替换,那么我们就可以考虑其他payload了

onclick事件:

在点击输入框之后才会执行onclick后面输入的事件

代码:οnclick="事件"

闭合17行的value标签后

于是试着输入'οnclick="alert(1)"

错误,查看源代码发现双引号也被替换了,所以尝试一下单引号。

payload

'οnclick='alert(1)'

提交后单击输入框出现弹窗

Level4

老规矩输入script后分析源代码

 

 这次直接把尖括号替换成了空,那就尝试不需要尖括号的onclick事件

注意需要对value标签进行闭合

payload

"οnclick="alert(1)"

提交后单击输入框出现弹窗

Level5

 老规矩看源代码

 script被替换为了scr_ipt

尝试onclick事件(双引号闭合value)

 但是注意看,这次的题目并没有对尖括号下手,所以我们可以进行一个新的标签作为payload

<a href=javascript:alert(1)>

这个标签是插入链接的标签,

利用它构造的payload为:

"><a href=javascript:alert(2)>

提交后有两处字体变蓝,说明生成了链接,任意点击一处即可执行代码出现弹窗。

Level6

老规矩分析源代码

 看起来好像和第五关的过滤方式一样,尝试一下第五关的payload

 发现href也被过滤了

绕过方法:大小写变化

有的代码对字母的大小写区分不明显,它们往往只过滤了小写字母或者大写字母的其中一种

于是这道题的payload

"><a hReF=javascript:alert(1)>

也可以是

"><sCrIpt>alert(1)</sCrIpt>

Level7

 老规矩分析源代码

这次直接把script替换为空了

双写绕过:
当代码把一个字符串替换为空时,通过双写可以绕过

payload

"><scscriptript>alert(1)</scscriptript>

Level8

 老规矩分析源代码

 script被替换了,但是输入的字符串是放在了<a href>标签中,所以我们根据前面的知识,试着直接输入

javascript:alert(1)

script仍然被替换了

 unicode编码绕过:
通过讲字符串进行Unicode编码,来绕过代码对固定字符串的过滤。

于是对javascript:alert(1)进行Unicode编码可以构造payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

Level9

老规矩分析源代码

这里说链接不合法

输入合法链接后就正常显示了,那么我们把合法链接加入到payload中尝试一下。

发现正常显示了,但是JavaScript还是会被替换。那么就对javascript:alert(1)这句代码进行Unicode编码,参考level8:

得到payload:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;//http://www.baidu.com

Level10

这道题没有输入框,但可以发现是GET方式传参,那么就用GET方式传参就好。

 老规矩:

 

 发现只有一个输出点,而且尖括号也被替换了,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值