一、未引用的服务路径介绍
未引用的服务路径(Unquoted Service Path)漏洞利用了Windows文件路径解析的特性。当服务启动时,如果其执行文件路径中包含空格并且未包含在引号中,就可能导致此漏洞的发生。
具体来说,如果完整路径中包含空格且未使用引号括起来,Windows将按顺序尝试解析路径中的每个部分,并执行与空格前部分名称相匹配的程序。
例如,对于路径 C:\Program Files\Sub Dir\Program Name.exe
,系统会依次尝试以下路径:
-
C:\Program.exe: 首先尝试解析路径中的第一个部分,直到遇到空格为止。
-
C:\Program Files\Sub.exe: 如果第一个尝试失败(即路径中含有空格),则系统继续尝试使用空格前部分加上
exe
的组合。 -
C:\Program Files\Sub Dir\Program.exe: 然后系统会尝试使用完整的路径,但是不包括文件名的后缀部分。
-
C:\Program Files\Sub Dir\Program Name.exe: 最后,系统会尝试使用完整的路径,包括文件名及其扩展名。
攻击者可以利用这一特性,将一个经过特殊命名的恶意程序上传到受影响的目录中。当服务重新启动时,恶意程序将随