查找“ls /tmp”在安全漏洞中不起作用的原因

查找“ls /tmp”在安全漏洞中不起作用的原因

我已经成功地execve("/bin/sh")在 Apache 进程中进行了安全练习。例如, ls 命令在 root 和 in 中工作正常/bin,但在 in 中则不然/tmp,即使目录是全局可读的,它也不会输出任何内容。此外,我在 中创建了一个文件 foo /tmp,将所有者更改为www-data但我得到了 cat: /tmp/foo: No such file or directory

可能是什么问题呢?

答案1

正如 Artem 提到的,apache 或 php-fpm 可能作为 systemd 服务运行,PrivateTmp=true此处提到https://www.freedesktop.org/software/systemd/man/systemd.exec.html

这将导致 Web 服务器在其自己的挂载命名空间中运行,并且/tmp/var/tmp系统的其余部分不同。

nsenter假设这是您可以用来在另一个进程的命名空间中执行脚本的问题。进程 ID 1 应该与系统的大部分位于同一命名空间中。

nsenter -mt 1 /bin/sh

相关内容