使用在应用程序解析过程中得到的结果(请参阅第4章了解相关内容),检查每一段客户端JavaScript,看其中是否出现以下API,它们可用于访问通过一个专门设计的URL控制的DOM数据:
document.1ocation
document.URL
document.URLUnencoded
document.referrer
window.location
确保检查出现在静态HTML页面及动态生成的页面中的脚本,无论页面为何种类型,或者是否有参数被提交给页面,任何使用脚本的位置都可能存在基于DOM的XSS漏洞。
在每一个使用上述API的位置,仔细检查那里的代码,确定应用程序如何处理用户可控制的数据,以及是否可以使用专门设计的输入来执行任意JavaScript。尤其注意检查并测试控制 的数据被传送至以下任何一个API的情况:
document.write()
document.writeln()
document.body.innerHtml
eval()
window.execScript()
window.setInterval()
window.setTimeout()