漏洞成因

漏洞的形成主要是因为Visual Studio的项目文件(vcxproj)是基于XML格式的,XML文件本身并不包含可执行代码。然而,Visual Studio的XML解析器允许在项目文件中包含一些自定义的命令,这些命令可以在构建项目时被执行。

目前该漏洞影响至visual studio所有版本,微软官方还未做出回应

漏洞复现

假设这是一个你平时在用的一个项目文件

通过修改Visual Studio的项目文件(vcxproj)植入恶意命令(必须添加在该位置)

删除x64文件夹后,重新编译项目,就会发现弹出计算器,说明指令可被执行

漏洞利用

可以直接反弹shell,通过hoaxshell直接生成powershell命令,并植入到vcxproj文件中

当受害者编译后,就能获取到权限