百度网盘7.59 Windows客户端命令注入漏洞
影响范围
版本小于等于7.59.5.104
只存在于Windows版本客户端
YunDetectService.exe监听本地10000端口,而且这个是程序是开机自启动的,只要你安装百度网盘就有,无需登录或者其他条件,可以通过命令查看端口情况

10000端口web请求(版本7.50.0.130以前是HTTP,例如我的mac上的百度网盘,以后的版本就是HTTPS)以method传递参数,实现不同的功能
1 | |


漏洞原理
看了网上大部分的文章,感觉成因还是比较好理解的
漏洞核心成因
- 命令行注入漏洞 百度网盘服务
YunDetectService.exe(监听本地10000端口)在处理OpenSafeBox接口的uk参数时,未进行安全过滤。uk参数值直接拼接到BaiduNetdisk.exe的启动参数-userkey中,导致攻击者可通过注入额外命令操纵程序行为。

- URL 传递形式:
1 | |
- 程序接收形式:
1 | |
这里可以访问该该参数看看,可以看到参数确实传递过去了
1 | |

其中的method 主要包括:GetVersion,GetPcCode,DownloadShareItems,DownloadSelfOwnItems,OpenSafeBox,install,userkey等,其中,install regdll 功能存在进一步的安全风险。
- 危险功能调用(
install regdll) 注入-install regdll命令可触发注册DLL功能,程序会调用系统工具regsvr32.exe注册YunShellExt.dll。 文件路径通过命令行参数拼接而成,可控:DLL路径通过字符串拼接生成,攻击者通过路径穿越(..\)可指向任意位置(如用户目录)。

攻击者可以通过 路径穿越字符串 ..\ 构造 DLL 的真实路径,例如:
1 | |
唯一限制:需要提前知道当前系统用户名。
regsvr32.exe二次注入 注册DLL时,程序直接拼接regsvr32.exe的命令行参数且未过滤,允许攻击者 通过双引号截断伪造参数边界(如"C:\Windows\System32\scrobj.dll")。 注入恶意参数/i:[远程XML] /u,强制regsvr32.exe下载并执行远程恶意脚本(如http://attacker/poc.xml),XML 中的恶意指令会被执行,从而实现 远程命令注入
漏洞利用链

PoC关键步骤
攻击者通过构造特殊请求实现命令执行:
1 | |
- 通过
uk注入-install regdll命令。 - 利用路径穿越指向用户目录下的可控位置。
- 通过双引号截断将DLL路径替换为
scrobj.dll并注入参数/i。 regsvr32.exe加载远程XML脚本执行恶意命令。
漏洞复现
注:看网上说python起的这个http.server是单线程容易出问题,容易卡住,不过我复现很顺利,如果卡住了就换别的开服务的试试
1 | |

- poc.html
1 | |
- poc.xml
1 | |
然后去访问我们准备的,注意其中的127.0.0.1:8000你可以修改成你的远程vps地址,winter就是当前主机的用户命令,也要进行修改。
1 | |

可以看到成功调用regsvr32.exe去下载poc.xml成功执行

参考
百度网盘7.59 Windows客户端命令注入漏洞
http://example.com/2025/09/05/百度网盘7.59 Windows客户端命令注入漏洞/