带有 SGID 位且只读并执行的 php 文件是否存在安全问题?

带有 SGID 位且只读并执行的 php 文件是否存在安全问题?

我发现 php 文件SGID 位和只读&执行。该团体是。这是一个问题吗?

因为用户需要使用我们的帐户运行 php 解释器,这是否会导致权限升级?

比如,用户www-数据跑步php作为www-数据并调用该文件SGID位,他能成为root吗?

php path/to/file.php

答案1

是的;如果直接在启用了 sgid-on-!# 的操作系统上运行,并且由于缺乏输入卫生等原因,php 文件可能被欺骗写入任意文件,则 sgid:root 将以 root 身份运行该文件。

这是一个很大的 IF,但建议进行深度防御,因为错误很多。

测试suid;

./test.php && whoami
root
www-data

其中 test.php 包含

#!/usr/bin/php
echo exec('whoami');

允许在 shell 脚本上设置 setuid

记录现代实现如何处理利用 sgid 的有趣方式

https://www.in-ulm.de/~mascheck/various/shebang/#setuid

注意#! simlink 攻击是从 1983 年到 1993 年的一个问题,在此之前 shebang 不受支持,之后它得到了更安全的实施。

相关内容