首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

WinRAR曝遗留19年重大漏洞,可完全控制电脑(附解决方法)

  • 24-03-05 03:05
  • 4484
  • 12325
blog.csdn.net

640?wx_fmt=jpeg


整理 | 琥珀

出品 | AI科技大本营(ID:rgznai100)


作为目前最受欢迎的电脑解压缩工具之一,WinRAR 号称在全球拥有 5 亿用户。不过最近的情况表明,如果你正在使用这款软件,建议立即升级到 5.70 Beta 1 版本,否则将有可能受到攻击者利用 WinRAR 的代码执行漏洞进行的对计算机的控制。


近日,安全公司 Check Point 安全研究员 Nadav Grossman 在一篇文中披露,WinRAR 中存在严重漏洞,可完全控制受害者的计算机。而且,该漏洞已经存在了近 19 年,并迫使 WinRAR 完全放弃对易受攻击 ACE 格式的支持。


640?wx_fmt=png


传送门:

https://research.checkpoint.com/extracting-code-execution-from-winrar/


目前这个漏洞存在于 WinRAR 的 UNACEV2.dll 代码库中,该代码库用于解析 ACE 格式,在解压处理的过程中存在一处目录穿越漏洞,允许解压过程中将文件写入启动文件夹中,导致系统重启后导致代码执行。然后,攻击者可制作一个 ACE 恶意文件,当被 WinRAR 打开时,会利用 UNACEV2.dll 的目标路径,将文件解压到攻击者选择的路径中。视频演示如下:



值得一提的是,早在此前,针对这种类型的漏洞,Zerodium 还给出了漏洞悬赏计划。


640?wx_fmt=png


研究人员在文中具体介绍了 WinRAR 代码执行漏洞的发现过程。几个月前,他们先利用 Winafl fuzz 对 Windows 环境下的二进制文件进行了模糊测试。


传送门:https://github.com/googleprojectzero/winafl


以下为准备过程:


  1. 在 WInRAR 注函数内创建 hareness,使其能够模糊任何存在当类型而无需为每种格式构造单独的 harness。

  2. 消除用户交互的对话框等 GUI 元素。

  3. 使用奥卢大学 2005 年左右进行的一项有趣研究发布的超大型语料库。

  4. 在 WinRAR 命令行模式下使用 WinAFL 对程序进行模糊处理。


通过以上操作后,研究人员发现了 RAR、LZH、ACE 等压缩格式的崩溃,并且在解析 ACE 格式的崩溃时,WinRAR 使用名为 unacev2.dll 的 dll 来解析 ACE 格式文件。这个 dll 从 2006 年起就没有保护机制。


在漏洞利用过程中,研究人员试图将 ACE 恶意文件放到启动文件夹中以便在系统启动时执行。


示例:


研究人员将 .ace 扩展名更改为 .rar 扩展名,因为 WinRAR 会根据文件内容而不是扩展名测试格式。


下图为 acefile 的输出:


640?wx_fmt=png

通过文件名字段中精心构造的字符串(绿色部分)触发漏洞


无论目标文件夹的路径是什么,该存档都将解压缩到 C:\some_folder\some_file.txt


那么真实的漏洞利用过程是怎样的?


研究人员表示,可以通过从 ACE 存档中提取压缩的可执行文件到其中一个启动文件夹(Startup Folders),从而获得代码执行。


制作一个将压缩文件提取到启动文件夹的 ACE 存档,在以下路径中至少有 2 个启动文件夹:


C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


第一个启动文件夹的路径需要高权限/高完整性级别。但是,WinRAR 默认以中等完整性级别运行。


第二个启动文件夹的路径需要知道用户的名称。


不过,研究人员向 WinRAR 报告这个代码执行漏洞之后, WinRAR 官方也对此进行了回应表示,目前给出的修复方法就是从软件包中删除 UNACEV2.dll,或者可以下载最新的 5.70 Beta 1 版本。


由于 UNACEV2.dll 自 2005 年以来就没有更新,尚无法访问其源代码,因此对于使用这个库来压缩 ACE 格式的用户来说,官方表示只能放弃对其支持。


640?wx_fmt=png

官网默认下载的 5.61 版本并非最新版本


WinRAR 5.70 Beta 1 下载地址如下:


32 位:http://win-rar.com/fileadmin/winrar-versions/wrar57b1.exe

64 位:http://win-rar.com/fileadmin/winrar-versions/winrar-x64-57b1.exe


相关链接:

https://research.checkpoint.com/extracting-code-execution-from-winrar/


(*本文为 AI科技大本营整理文章,转载请联系微信 1092722531)

精彩推荐

640?wx_fmt=jpeg

640?wx_fmt=jpeg

推荐阅读:

  • GAN性能不稳?这九大技术可“镇住”四类缺陷

  • NLP输出文本评估:使用BLEU需要承担哪些风险?

  • 如何用Python抠图?试试scikit-image

  • 这可能是史上最全的Python算法集!

  • 骚操作!代码写情诗 | 程序员有话说

  • 30 秒?!Chrome 插件带你速成编程学习 | 程序员硬核评测

  • 2019年中国IT市场趋势热点

  • 翟天临之后,大连博士细数区块链博士圈那些事……

  • 月入5万,程序员夫人们过上"贵妇"生活了吗?

                         640?wx_fmt=png

点击“阅读原文”,查看历史精彩文章。

更多内容请见: python3案例和总结-专栏介绍和目录

文章目录

    • 1. 希尔排序的原理
    • 2. 希尔排序的实现
    • 3. 代码详解
    • 4. 示例
    • 5. 希尔排序的性能
    • 6. 增量序列的选择
    • 7. 优化希尔排序
    • 8. 总结
    • 9. 完整代码

希尔排序(Shell Sort)是插入排序的一种高效改进版本,也称为缩小增量排序。它通过将待排序的数组分割成若干个子序列,分别进行插入排序,最终对整个数组进行插入排序。希尔排序的核心思想是通过逐步缩小增量(gap)来提高排序效率。


1. 希尔排序的原理

  1. 增量序列:选择一个增量序列(gap sequence),例如 [n/2, n/4, ..., 1],其中 n 是数组的长度。
  2. 分组排序:对每个增量 gap,将数组分成 gap 个子序列,分别对每个子序列进行插入排序。
  3. 逐步缩小增量:重复上述步骤,直到增量为 1,最后对整个数组进行一次插入排序。

希尔排序的优势在于,

数据知道的成长之路
微信公众号
成长进阶、技术分享、资源获取
注:本文转载自blog.csdn.net的AI科技大本营的文章"https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/87887765"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top