分享

渗透测试之XSS(四)

 昵称73595512 2021-02-14

DOM型XSS

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

DOM型XSS实战

来到DVWA的DOM型XSS关卡

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

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

那我们可以构造我们的payload

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

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

Medium 等级

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

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

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

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

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

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

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

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

high等级

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多