渗透测试之XSS(四)

admin 2023年5月16日08:02:09评论42 views字数 767阅读2分33秒阅读模式

DOM型XSS


DOM其实是一种特殊的反射型XSS,它是面向于DOM文档的模型的漏洞。DOM的整个过程都是在前端完成的,没有后端的参与(纯前端的操作!),所以该类型的XSS漏洞比较鸡肋,没有太大作用。所以本篇文章就简单用几个实例来学习一下。(不懂DOM是什么的师傅可以看看第一篇XSS文章,这里就不再重复介绍。)


DOM型XSS实战


来到DVWA的DOM型XSS关卡


渗透测试之XSS(四)

我们可以看到传入参数的值在DOM节点上显示出来了,那我们可以再试一试其他的东西。

渗透测试之XSS(四)

因为是最低等级,源代码上也没有任何防护措施


渗透测试之XSS(四)

那我们可以构造我们的payload

<script>alert("随风")</script>


渗透测试之XSS(四)

其他等级也就是绕过不同的防护措施,这里我们就一一去分析一下他们的源代码。

Medium 等级



渗透测试之XSS(四)

这里有一个关键函数stripos()

  • stripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

这里检查了字符串第一次出现是否为<script,是的话让default=english,因为该函数不区分大小写,所以我们不能通过大小写进行绕过了。所以我们用以下payload

<img src=1 οnerrοr=alert('随风')>

但是发现并未触发任何弹窗


渗透测试之XSS(四)

这种时候一般都是因为插入到某个标签,导致标签闭合失败。那我们可以查看以下代码。


渗透测试之XSS(四)

这里插入到value值里面了,所以我们最终的payload是

</option></select><svg/onload=alert("随风")>


渗透测试之XSS(四)

high等级


渗透测试之XSS(四)

这里用了一个switch函数定义了一个白名单,在名单里面的才能传入参数。但是在url中#后边的内容不会发送到服务端,从而可以实现绕过。

English #<script>alert('随风')</script>


渗透测试之XSS(四)



原文始发于微信公众号(猪猪谈安全):渗透测试之XSS(四)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月16日08:02:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试之XSS(四)https://cn-sec.com/archives/786360.html

发表评论

匿名网友 填写信息