Zip 文件覆盖漏洞曝光,Java、.NET、Go 生态集体中枪
来自 Snyk 的安全团队今年 4 月份发现了一个广泛存在的文件覆盖漏洞,允许攻击者在系统上编写任意文件,并通过远程命令执行。它会在从档案文件中提取文件时触发目录遍历攻击,并影响包括 tar、jar、war、cpio、apk、rar 和 7z 在内的大量压缩文件。
该漏洞被称为 Zip Slip,已影响来自 Google、HP、Amazon、Apache、Pivotal、Linkedin、Twitter 等企业的数千个项目。同时,安全团队在包括 Java、JavaScript、Ruby、.NET 和 Go 在内的多种生态系统中都发现了该漏洞,Zip Slip 在 Java 中尤为普遍存在,因为没有中央仓库提供高级别归档文件处理,导致存在大量易受攻击的代码和库。
安全团队在发现漏洞后,私下向所有易受攻击的库和项目维护人员透露了 Zip Slip 漏洞的存在。直到 6 月 5 日,他们正式在 GitHub 上公开了该漏洞的具体细节。目前不少软件已通过更新版本或发布补丁修复了该漏洞。
据悉,Zip Slip 是目录遍历的一种形式,可通过从存档中提取文件来利用。目录遍历漏洞的前提是攻击者可以访问文件系统中应该驻留的目标文件夹之外的部分文件系统。然后,攻击者可以覆盖可执行文件并远程调用它们,或者是等待系统或用户调用它们,从而实现在受害者机器上的远程命令执行。该漏洞还可能通过覆盖配置文件或其他敏感资源,从而在客户端(用户)机器和服务器上被利用。
安全团队还在 GitHub 上给出了两个恶意文件示例:
$ 7z l zip-slip.zip Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2018-04-15 22:04:29 ..... 19 19 good.txt 2018-04-15 22:04:42 ..... 20 20 ../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../tmp/evil.txt ------------------- ----- ------------ ------------ ------------------------ 2018-04-15 22:04:42 39 39 2 files
$ 7z l zip-slip-win.zip Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2018-04-15 22:04:29 ..... 19 19 good.txt 2018-04-15 22:04:42 ..... 20 20 ..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\Temp\evil.txt ------------------- ----- ------------ ------------ ------------------------ 2018-04-15 22:04:42 39 39 2 files

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
尘埃落定,JDK 11 确定将引入 Shebang #! 符号
按计划,JDK 11 将于 9 月发布。随着时间的临近,越来越多的 JEP 正被不断被添加至JDK 11 的开发列表中。 2017 年 12 月 1 日,来自 Oracle 的开发者JonathanGibbons 创建了 JEP 330 草案,名为 “Launch Single-File Source-Code Programs”,主要是改进 JavaLauncher以支持一个命令执行单个 Java 源代码文件。换句话说,在条件满足的情况下,可以简单地直接编译并运行单文件程序,而不再需要调用 javac ,也不需要打包 jar 文件。 比如说,可直接运行: javaHelloWorld.java 而不再需要: javac-d<memory>HelloWorld.java java-cp<memory>hello.World 此外,JEP 330 还引入了通常在 Unix 系统脚本中使用的Shebang和相关技术,将支持使用该机制来执行 Java 程序,例如: #!/path/to/java--sourceversion 在描述中,JonathanGibbons...
- 下一篇
融合了 JavaScript 之力的 Nashorn 或被 JDK 11 弃用
还没有使用过 Nashorn ?如果感兴趣的话,建议尽快去尝试一下,因为Jim Laskey 最近提交了一个新的JEP 335草案,准备弃用 Nashorn JavaScript 脚本引擎、API 以及该 jjs 工具。 从 JDK 6 开始,Java 就捆绑了基于Mozilla 的 Rhino的JavaScript 引擎,该特性允许开发者将 JavaScript 代码嵌入到 Java 中,甚至从嵌入的 JavaScript 中调用 Java 。随着 JDK 8 的发布,Nashorn 取代 Rhino 成为 Java 的嵌入式 JavaScript 引擎。Nashorn 完全支持ECMAScript 5.1 规范以及一些扩展,在发布之初被视为真正地融合了 Java 和JavaScript 之力。因为相较于Rhino ,它有着 2-10 倍的性能提升。 有意思的是,当年提议加入Nashorn 的正是目前提议弃用该引擎的Jim Laskey 。在JEP 335 的描述中,Jim Laskey 表示随着 ECMAScript 语言的快速迭代以及 API 的调整和修改,Nashorn 已越来...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案