XSS(DOM)——黑盒测试

Low级别:

1.点击Select提交数据,发现URL中多了一个GET参数在这里插入图片描述
2.接着我们直接将URL中的default参数的值修改为<script>alert('rootkit')<script>
然后回车完成,可以看到页面直接就触发了我们的代码,弹窗了在这里插入图片描述
3.接着我们按F12打开浏览器审查元素,查看我们的这个漏洞点,可以看到,我们的代码已经被作为一个元素通过JS插入到了
页面当中,整个流程都是通过上面的JS代码实现的
在这里插入图片描述


Medium级别:

1.在Medium级别当我们直接将English改为<script>alert(1)</script>时整个script标签都被过滤了
在这里插入图片描述
2.接着我们查看输出点并进行闭合标签,F12打开审查元素,在查看器中搜索English
可以看到输出点有两个一个是以字符串的方式输出在option标签对当中,一个是在value属性中输出,所以我们
需要从value属性中逃逸出来
在这里插入图片描述
构造Payload为:English"发现value属性当中存在URLEncode,将我们的"编码成了%22
在这里插入图片描述
所以我们使用&quot;实体编码来代替"
payload为:English&quot;可以看到此时双引号正确的解码了
在这里插入图片描述
接着我们在输入一个XSS代码看是否存在过滤
paylaod为:&quot;<script>alert(1)</script>可以看到直接弹窗了
在这里插入图片描述
3.我们还可以尝试跳出检测范围,这里因为DOM添加的新标签是在Select标签当中进行生成的
我们尝试直接闭合select标签
</select><svg onload=alert(1)>
最后发现当闭合到select标签时可以触发代码了
在这里插入图片描述
在这里插入图片描述


High级别:

1.来到High级别,无论我们输入什么都会被初始化为English
在这里插入图片描述
2.接着我们按F12打开浏览器审查元素,查看其输出位置,可以看到,value属性当中也有option标签当中也有
在这里插入图片描述
3.首先我们先尝试在value属性中作业,输出的English被一对"包围,此时我们可以尝试闭合左右两边的"
使用payload:English"
在这里插入图片描述
可以看到此时我们输入的双引号在value属性当中被进行了URLEncode编码,变成了%22
接着在尝试使用实体编码扰乱它的过滤规则,双引号的实体编码为&quot;构造payload为
English&quot;可以看到我们输入的双引号成功解码了,并没有被进行URL编码
在这里插入图片描述
此时我们在闭合右边的"在两个引号中间添加上
payload为:English&quot;<script>alert(1)</script>&quot;可以看到直接就触发了弹窗
在这里插入图片描述
查看代码位置可以看到我们输入的XSS代码被插入到了option标签当中
在这里插入图片描述
接着我们在尝试只闭合左边的option标签使用&gt;表示为>
payload为:English&gt;<script>alert(1)</script>,可以看到也弹窗了
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newC0mer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值