验证 CDN javascript 的完整性

信息安全 哈希 javascript 客户端
2021-08-29 19:53:22

CDN 通过允许缓存常用的 javascript 库(如 jquery)来加速网站的加载。我们如何知道他们是否在将 javascript 提供给我的客户之前对其进行了修改?

例如,我比较了 jquery.js 的哈希,并验证它与官方网站上的哈希匹配。然后我在我的网页上插入链接。2 周后,CDN 将其替换为嵌入了键盘记录器的恶意副本。当客户访问我的网页时,恶意脚本会被下载并记录所有输入并将其发布到他们的服务器。

我可以在执行脚本之前使用 Crypto.JS 之类的库来验证脚本的 md5 校验和吗?这必须在 javascript 中完成,因为漏洞利用在客户端工作。

1个回答

这就是您要寻找的 - 子资源完整性:

摘要:http: //qnimate.com/how-to-make-browsers-verify-fetched-resources-content/

仅最新的浏览器支持子资源完整性。