反射型XSS也被称为非持久性CSS。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。这个过程就像一次反射,故称为反射型XSS。
DVWA – low
这里对于接受用户数据的name参数没有进行任何过滤,就直接在网页中输出。
<script>alert(document.cookie)</script>
# 在这里,chrome默认不允许任何弹窗,如使用chrome测试,请先设置。
# Here is the link: http://jingyan.baidu.com/article/466506580d9828f549e5f8d1.html
DVWA—medium
还是先看源码,medium中在输出name参数中的数据之前,先利用str_replace()函数进行了处理,目的是将<script>替换为空。
在这里,我们可以使用大写的<SCRIPT>
Eg: <SCRIPT>alert(document.cookie)</SCRIPT>
另外,通过HTML也可以跨站。
Eg:<img src=1 onerror=alert(document.cookie)>
# <img>是html中的图片标记,这条语句表示在网页中插入一张图片,“src=1”指定了图片文件的URL,如果图片不存在(这里肯定是不存在了),那么将会弹出错误提示框,从而实现弹框的效果。
DVWA—high
再来查看high级别的源码,这里利用了htmlspecialchars()函数进行过滤。这个函数可以把& (和号)、"(双引号)、‘(单引号)、<(小于)、>(大于)这些敏感符号都进行转义,所有的跨站语句中基本都离不开这些符号,因而只需要这一个函数就阻止了XSS漏洞,所以跨站漏洞的代码防御还是比较简单的。
参考资料: 1.DVWA系列之20 反射型XSS分析 Link :http://yttitan.blog.51cto.com/70821/1728465 2.Web安全深度剖析――张炳帅
时间: 2024-10-11 11:13:31