| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 毒代理pac !带有网络安全漏洞的NPM包… -> 正文阅读 |
|
[网络协议]毒代理pac !带有网络安全漏洞的NPM包… |
不久前,独立软件开发人员 Tim Perry,用于拦截和调试 Web 流量的HTTP 工具包的创建者决定为他的产品添加代理支持,就像现在的许多软件一样,它是使用 ICYMI 除了使用谷歌 Chromium 项目的 V8 JavaScript 引擎的 JavaScript 核心外, NPM 注册表从基本的文本格式到全面的面部识别,以及介于两者之间的几乎所有内容。 无需自己编写项目中的所有代码,甚至大部分代码,您只需引用要使用的附加包,NPM 将为您获取它们,以及您选择的包需要的任何其他包,以及这些包需要的所有包,一直跟随海龟包,直到完成拼图所需的每一段附加代码都已被自动找到并安装。 字母汤可以想象,这是一个潜在的安全噩梦。 将一个包添加到您自己的项目中可能需要大量额外的包,每个包都可能由您不认识、从未见过甚至可能永远不会认识的不同人编写。 这个字母汤被称为您的软件的依赖树,我们之前已经写过这种软件构建方法的风险副作用,并指出:
代理支持带来麻烦Perry 最近重新发现了这种风险,当时他决定使用一个流行的 NPM 包 幸运的是,Perry 并没有盲目地获取、安装和开始使用 因此,他在名为 的 代理服务器是代表您进行传出连接的服务器,通常是为了安全(例如过滤网络流量)、性能(例如保留经常下载的文件的本地副本,或在繁忙时段调节带宽使用),或对彼此而言。您连接到代理并告诉它您想去哪里;它为您建立向前的联系,收集回复,并将它们返回给您。许多公司网络都配置为某些出站连接,尤其是 HTTP 请求,只能来自指定的代理服务器。这确保网络内的每个人都通过代理发送他们的流量,而不是直接转到外部站点。存在许多企业风格的工具来帮助网络上的计算机自动定位其官方内部代理,包括 PAC,简称为代理自动配置和 WPAD,Web 代理自动发现的缩写。 信不信由你不管你信不信,PAC 文件不仅仅是网络官方代理服务器所在的 IP 号码或服务器名称的纯数据列表。 因为它们旨在在您的浏览器中摄取和使用,所以 PAC 文件被有意设计为比静态数据列表更灵活。 事实上,PAC 文件由 JavaScript 组成,可以动态确定是否需要代理,如果需要,可以在网络上的何处找到它。 正如 Perry 所指出的,PAC 文件格式可以追溯到 25 年前,并且首次作为 Netscape 浏览器中的“功能”出现:
当然,Perry 并不打算在浏览器的有限限制内运行 PAC 文件,但作为他的 HTTP Toolkit 软件的一部分,它作为常规应用程序运行,这可能会给它启动的 JavaScript 提供比脚本更大的影响力和功能代码会在浏览器中享受。 因此,他决定看看他选择的代理配置代码的程序员如何解决获取和运行外部 JavaScript 的安全隐患。 他发现该代码使用了一个名为 的 Node 组件 如果您想让代码的两个部分以不会错误地相互践踏的方式做单独的事情,这是一个方便的预防措施。 用
安全是好的,但安全性更好Perry 意识到,原来的程序员(他现在采用了他的代码)使用该 但是,正如
Perry 很快就想出了如何使用常规 JavaScript 编程技术在新 从技术上讲,这构成了代理配置过程中的 RCE 错误,其中 RCE 是远程代码执行的缩写。 粗略地说,RCE 意味着从不受信任的来源获取的不受信任的内容可以故意做一些不应该被允许的危险行为,而不会首先出现任何警告或弹出对话框。 这真的有问题吗?正如 Perry 发现的一些评论者指出的那样,利用此漏洞通常意味着更改专用网络的官方代理 PAC 文件以包含诱杀的 JavaScript。 但是,如果您已经有权更改组织的代理设置,那么无论如何您都可以简单地将网络上的每个人重定向到假代理,无论是否存在任何 JavaScript 错误…… ……如果您可以默默地重定向网络上的每个浏览器,那么您肯定已经拥有足够多的网络犯罪控制来对组织造成严重破坏吗? 因此,一些评论者认为,CVE-2021-23406 只不过是茶杯中的风暴。 除了通过虚假代理重定向每个人的浏览器(尽管最终可能存在风险)之外,还不如作为代理配置的副作用在网络上的每台计算机上运行任意程序的能力那么危险…… ...同时保持原始代理配置不变,因此其他一切似乎仍然照常工作 通过公开重新配置每台计算机以开始使用不同的代理服务器来入侵网络更有可能产生麻烦的副作用,这些副作用会引起注意、报告和调查。 当代的网络骗子喜欢通过避免普通用户可能注意到的变化来保持“低调”,即使他们没有注意网络安全事件。 该怎么办?
就其价值而言,Perry 指出,这个故事中的软件包每周会收到大约 3,000,000 次下载,因此仅靠受欢迎程度并不能保证正确性。 永远不要忘记,当涉及到此类所谓的供应链错误时,您可以外包编码,但不能外包责任。 文章by? Paul Ducklin |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:04:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |