审查应用程序发布的所有cookie,检查用于控制cookie范围的任何domain属性。
(1)如果应用程序将cookie范围明确放宽到父域,则该应用程序可能易于受到通过其他Web应用程序实施的攻击。
(2)如果应用程序将它的cookie范围设置为自己的域名(或者并未指定domain属性),则通过它的子域仍然可以访问其中的应用程序或功能。
确定将收到应用程序发布的cookie的所有可能的域名。如果通过这些域名可以访问任何其他Web应用程序或功能,确定是否可以利用它们获得目标应用程序的用户发布的cookie。
2.cookie路径限制
位于/apps/secure/foo-app/index.jsp的应用程序建立一个cookie后,浏览器会默认在随后的所有请求中将cookie重新提交到路径/apps/secure/foo-app/及任何子目录。它不会将cookie提交到父目录或服务器上的其他任何目录路径。
与cookie范围域限制一样,服务器可以在Set-cookie指令中插入一个path属性,改变这种默认行为。例如,如果应用程序返回以下HTTP消息头:
那么浏览器会将这个cookie重新返回到/apps/路径的所有子目录中。
相比于基于域的cookie范围,这种基于路径的限制比同源策略更加严格。因此,如果将其作为一种安全机制,用于防范同一域中的不可信应用程序,则这种防御机制几乎完全无效。在某个路径上运行的客户端代码能够打开指向同一域上不同路径的窗口或iframe,并能够读取或写入该窗口,而不受任何限制。因此,获取范围为同一域上的其他路径的cookie实际上并不困难。有关更多详情,请参阅以下Amit Klein撰写的论文: