Chrome的AppCache漏洞小结
Web安全 24060
AppCache(Application Cache)是HTML5提供的应用缓存机制的一组接口,在各大浏览器(曾经)都有实现。它通过用户指定的manifest缓存特定页面从而使这些页面即使在离线状态的都可以访问,提高了访问速度且减轻了服务器的压力。
但随着技术发展,像Service Worker这种新的客户端缓存技术逐渐有了取代AppCache这种老大哥技术的趋势。AppCache由于其技术实现的缺陷,也被安全研究人员发现了一些漏洞。本文针对Chrome下的AppCache实现,回顾曾经被爆出来的安全漏洞。
#1 AppCache Poisioning
这个漏洞在[1]和[2]中被提及,主要的成因是AppCache的FALLBACK字段没有限制源URI的作用域。意思就是说即使attack.html和manifest.txt在网站的/1337/a/b/c/
下,attach.html安装的manifest.txt也可以指定根目录/index.html
的FALLBACK。这一缺陷结合Cookie Bomb等技术,只要使被劫持的页面返回500等错误就可以触发FALLBACK,使之被劫持到攻击者的恶意页面。一个例子如下:
https://example.com/1337/a/b/c/attack.html