hackinglab 脚本关 15 Principle很重要的XSS

这一关提示:

如果实在做不出来了,可能是思路被局限,可以参考一下这里:
Principle: 对于黑盒XSS,首先要知道在哪里过滤的,过滤了什么,如何过滤的,什么情况下触发过滤 即Where/What/How/When 之后你便可以建立自己的Fuzz Testing Libs

接下来便分享下我的思路

我们先输入

javascript:alert(1)

结果可想而知,肯定是被屏蔽(此处屏蔽指弹出XSS警告)了
然后开始从细节开始测试

测试过程不好截图就不截了
直接说下结果吧

<>括号过滤情况为:
<被过滤(此处过滤指被删除)       >正常
但是当两个符号一起出现时会被全部删除,包括中间的内容
这里就是个可以利用的绕过方式了
尝试绕过

javasc<c>ript:alert(1)

结果却被屏蔽,有以下两种情况:

  1. 后端代码是先匹配删除掉括号再进行的关键词查找
  2. alter被屏蔽

先测试下第二个情况

javasc<c>ript:al<c>ert(1)

页面显示正常
结果
查看源代码
源代码
可以看到正常插入进去了,我们点一下试试
ojbk
可以看到正常执行了弹窗,那么构建payload

javasc<c>ript:al<c>ert(HackingLab)

ojbk

过关!key就不放出来了


这里继续试试其他的

空格 的情况有点特殊,应该是正则表达但是也是可以绕过的
只要空格前面有字符就会被屏蔽
那么我们把空格放在第一个

 test

test
正常通过

那么试试是不是屏蔽了所有空格

 test 

test2
事实证明只会屏蔽第一个空格

那么构建如下payload

 ' onmouseover=al<c>ert(HackingLab)>

成功弹窗!

本文章到此结束
第一次发,有点小紧张啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值