尝试访问

http://mdsec.net/search/28/

http://mdsec.net/search/36/

http://mdsec.net/search/21/

注意,在这些情况下,在服务器的响应中,输入的字符串返回前,可能经过净化、编码或其他形式的修改,因而还不足以实现对XSS漏洞的利用。这时,提交一个特殊字符串并检查它是否在服务器的响应中出现的基本检测方法将无法成功发现漏洞。

当利用基于DOM的XSS漏洞时,攻击有效载荷并不在服务器的响应中返回,而是保存在浏览器DOM中,并可被客户端JavaScript访问。同样,在这种情况下,提交一个特殊字符串并检查它是否在服务器的响应中出现的基本检测方法将无法成功发现漏洞。

12.3.1 查找并利用反射型XSS漏洞

要探查反射型XSS漏洞,最可靠的方法是系统性地检查在解析应用程序(请参阅第4章)过程中确定的所有用户输入进入点,并遵循以下步骤。

img002 在每个进入点提交一个良性字母字符串。

img002 确定此字符串“反射”在应用程序响应中的所有位置。

img002 对于每个反射,确定显示反射型数据时的语法上下文。

img002 提交针对反射的语法上下文而修改的数据,尝试在响应中引入任意脚本。

img002 如果反射型数据被阻止或净化,导致脚本无法执行,则尝试了解并避开应用程序的防御性过滤。

1.确认用户输入的反射

检测反射型XSS漏洞的最可靠方法的初始步骤与前面描述的基本方法类似。