我的 HTML 中包含的 JavaScript 库可以使用我的 cookie 会话向我的网站发出请求吗?

Posted

技术标签:

【中文标题】我的 HTML 中包含的 JavaScript 库可以使用我的 cookie 会话向我的网站发出请求吗?【英文标题】:Can a JavaScript library included in my HTML make a request to my site using my cookie session? 【发布时间】:2018-04-19 06:40:39 【问题描述】:

如今,在您的前端项目中包含 3rd-party JS 依赖项非常普遍。例如,一些 ReactJS 组件。

是否有任何东西可以防止恶意代码与我的其他依赖项捆绑在一起并由我自己的服务器提供服务,例如通过进行简单的 AJAX 调用来删除我的帐户?

fetch("https://example.com/account", 
  method: 'DELETE'
);

如果是这样,这是否意味着我们根本不应该使用 cookie?

【问题讨论】:

【参考方案1】:

这是所有开源库的普遍问题,无论是后端还是前端。

如果攻击者可以将恶意代码添加到您的前端,则攻击者可以执行您的代码可以执行的任何操作。所以 cookie 或 jwt 或其他一些身份验证机制并不重要。攻击者可以添加反向通道并获得控制权(检查http://beefproject.com/)

这在后端更糟糕,使用后门代码可能会导致有人危及您的服务器或窃取您的所有数据库内容。

考虑到这一点,您应该确保使用正确的库并进行一些审查。人们一直在 npm 中发布常见 javascript 库的后门版本。例子: https://www.theregister.co.uk/2017/08/02/typosquatting_npm/

【讨论】:

以上是关于我的 HTML 中包含的 JavaScript 库可以使用我的 cookie 会话向我的网站发出请求吗?的主要内容,如果未能解决你的问题,请参考以下文章

前端技术:HTML---Head标签中包含的头文件标签,body标签包含的内部标签

如何找到 JavaScript 数组中包含的最大数?

UIPageViewController 中包含的 PageControl 引用到哪里?

如何使用 Eclipse 中包含的外部库创建 jar?

使用 Maven Surefire 运行依赖项 jar 中包含的 JUnit 测试

除了标准库中包含的工具之外,Linux 上的 Python 还存在哪些分析工具?