反射型XSS & DVWA

  反射型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安全深度剖析――张炳帅

 

posted @ 2016-11-14 18:35  Garvey  阅读(4682)  评论(0编辑  收藏  举报