说在开头:文章是我通过查询资料后按照自己的理解总结出来的,所以如果有说法不对的地方,欢迎大佬指正~
DVWA是一款非常好的web漏洞练习平台,也是一款非常好的学习php代码审计的一个平台。我们可以利用它来学习XSS漏洞。
安装环境
平台搭建好以后,登录账号:admin,密码:password。
设置安全级别
一共有四个级别:Low、Medium、High、impossible。
我们依次测试每个级别,先从Low开始。
1.反射型
1.安全级别:Low
- 哈哈哈本来想打一下payload的,结果会被过滤掉,显示不出来那就只能放截图了
- script是一个HTML标签,用于定义在HTML页面中插入一段JavaScript脚本
- alert() 方法用于显示带有一条指定消息和一个OK按钮的警告框。
alert括号里的参数是要在window上弹出的对话框中显示的纯文本(而非 HTML 文本)。
参数是数字时可以直接写,是字符时要加单引号,是字符串时要加双引号。
我们输入上面的payload,可以看到出现弹窗,说明存在反射型XSS漏洞:
我们查看一下源码,可以看到它对输入没有任何过滤:
因此,在Low下执行XSS 漏洞非常简单,无需绕过。
2.安全级别:Medium
在Medium下在执行上面的payload,会发现没有出现弹窗, 而是直接把弹窗语句输出了出来:
我们查看源码,可以看到,它将< script >替换成空了,即过滤掉了< script >标签:
绕过方法:
1.双写绕过:
2.大小写绕过:
出现弹窗,弹窗内容显示的是cookie: