首先来到DVWA高级模式下反射型xss漏洞处
开始测试
<script>alert(/xss/)</script>
发现直接使用js代码不行,被直接过滤稍微试探针对的过滤对象
发现这里针对?<script>标签会直接过滤
我们改用<img>标签试探是否过滤
发现这里针对img标签没有过滤的手段
构建xss攻击代码
<img src=x οnerrοr=alert(1)>
?这个代码表示调用img图片,地址为src,这里src不存在,则会导致onerror执行
这里利用img标签成功绕过
再来到DVWA高级模式下存储型xss漏洞处
继续使用js代码试探
这里需要注意name有长度限制
这里原本是10,但是只是前端限制,没有做后端限制,直接从前端调试接口将长度调为110即可
得到结果
查看源码
这里发现alert没有被过滤,而script标签又被针对过滤了,这里可以尝试一些基础绕过手法
比如大小写绕过等等,但是这里我就不费事了,一般没有用
直接换标签,用img尝试
查看源码
这里可以看到name中的img保存了下来,而message中的img标签被清除了,我们这里可以直接利用name进行img标签的xss攻击
调整前端name长度限制
注入代码
<img src=x οnerrοr=alert(1)>
?
存储型xss漏洞利用完成