渗透测试步骤

使用在应用程序解析过程中得到的结果(请参阅第4章了解相关内容),检查每一段客户端JavaScript,看其中是否出现以下API,它们可用于访问通过一个专门设计的URL控制的DOM数据:

img002 document.1ocation

img002 document.URL

img002 document.URLUnencoded

img002 document.referrer

img002 window.location

确保检查出现在静态HTML页面及动态生成的页面中的脚本,无论页面为何种类型,或者是否有参数被提交给页面,任何使用脚本的位置都可能存在基于DOM的XSS漏洞。

在每一个使用上述API的位置,仔细检查那里的代码,确定应用程序如何处理用户可控制的数据,以及是否可以使用专门设计的输入来执行任意JavaScript。尤其注意检查并测试控制 的数据被传送至以下任何一个API的情况:

img002 document.write()

img002 document.writeln()

img002 document.body.innerHtml

img002 eval()

img002 window.execScript()

img002 window.setInterval()

img002 window.setTimeout()