DVWA靶场中的XSS DOM型

在做XSS DOM型的时候,总是很不理解为什么网上的一些笔记博客要先闭合和标签,找了很久之后终于找到了一篇博客,说的还挺好的。 这里给一下博客地址:XSS DOM

DVWA靶场中,low级别很容易,直接插入就好了。
medium级别的时候,无论怎么插入都是不会成功的。
在这里插入图片描述这是因为后端代码把script这个标签进行了处理,stripos这个函数是用来检测default输入里面有没有<script这个标签,如果有的话就直接跳转到default=English这个页面,所以就必须换成其他的标签,。img/body这样的标签。由于此时的插入的语句实在option标签和select标签当中。**

由于select标签内只允许内嵌option标签,而option标签中能内嵌script标签但不能内嵌img等标签,因此需要在注入时先闭合option和select标签从而使注入的标签逃逸出来执行XSS:

</option></select><img src=1 onerror=alert(1)>

所以medium级别的payload就是:

</option></select><img src=1 onerror=alert(1)>

high级别的时候由于此时限制了白名单,所以考虑用#进行利用,URL栏的#号之后的内容并不会发送至服务器端,JS应用该符号实现在页面创建加载过程中定向到指定的页面内容上。
所以high级别的payload可以为:

English#</option></select><img src=1 onerror=alert(1)>

#前面写个English是因为要进行白名单绕过,可以查看后端代码。

impossible级别说是服务器端不需要做任何防御措施,防御的关键在于客户端上。我的理解是:因为我们的插入什么的提交之后都是提交到服务端,然而这里服务端没有任何防御措施,但是客户段发出请求的时候把该做的都做了,所以数据信息到服务端时便什么也没了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值