本人非原创漏洞作者,文章仅作为知识分享用
一切直接或间接由于本文所造成的后果与本人无关
如有侵权,联系删除
产品简介
Rust 是 Mozilla 的一个新的编程语言,由 web 语言的领军人物 Brendan Eich(js 之父),Dave Herman 以及 Mozilla 公司的 Graydon Hoare 合力开发。Rust 是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现 Null 指针等等。
官网地址:https://www.rust-lang.org/
漏洞描述
Rust 安全响应工作组获悉,1.77.2 版之前的 Rust 标准库在使用“Command”在 Windows 上调用批处理文件(带有“bat”和“cmd”扩展名)时,无法正确转义参数。能够控制传递给生成进程的参数的攻击者可以通过绕过转义来执行任意 shell 命令。对于那些在 Windows 上使用不受信任的参数调用批处理文件的人来说,此漏洞的严重性至关重要。不影响其他平台或使用。
影响版本
Rust <1.77.2(Windows Platform)
环境搭建
1.下载“Rust1.77.1.msi”。
https://static.rust-lang.org/dist/rust-1.77.1-x86_64-pc-windows-msvc.msi
2.双击msi安装包,等待安装完成即可。
3.查看安装版本,确定安装成功。
rustc -V
tips:如果在下面利用过程中出现下面报错,解决办法参考链接如下
https://blog.csdn.net/wowotuo/article/details/78307248
1.安装“Visual Studio”。
2.将下面路径添加至环境变量。
[VS安装路径]IDEVCToolsMSVC14.38.33130binHostx64x64
漏洞利用
1.下载好POC。
https://github.com/frostb1ten/CVE-2024-24576-PoC
2.解压后在POC目录编译“main.rs”,然后会在同目录生成“main.exe”。
rustc main.rs
3.成功弹出记事本,命令执行成功。
test" & notepad
参考链接
https://nvd.nist.gov/vuln/detail/CVE-2024-24576
https://doc.rust-lang.org/std/process/struct.Command.html
https://github.com/frostb1ten/CVE-2024-24576-PoC
https://blog.csdn.net/wowotuo/article/details/78307248
https://zhuanlan.zhihu.com/p/618513180
https://download.csdn.net/blog/column/12497379/135010941
原文始发于微信公众号(不够安全):[漏洞复现] Rust命令注入漏洞 CVE-2024-24576
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论