4

我有一个用 C 编写的程序,它在监狱中运行 chroot,它会进行一些系统调用,例如system ( "ls" ). 问题是当我在监狱中运行程序时,它没有执行系统调用。我已经包含了可执行文件的所有必要库(使用lddbash 命令找到它们),以及 bash 可执行文件(/bin/bash),以及它的库(也可以使用 找到ldd)。似乎缺少了什么。有人对此有想法吗?

4

2 回答 2

5

根据定义,system运行“/bin/sh -c <command>”。

复制/bin/sh到您的 chroot 监狱(或将其链接到 /bin/bash),您应该一切顺利。

于 2011-08-23T21:29:08.803 回答
1

这可能有效,但拥有 chroot 的目的通常是防止攻击者执行任意 shell 命令。一旦您将 /bin/sh 放入 chroot 监狱,您首先就消除了拥有 chroot 监狱的任何目的。

于 2012-01-20T19:05:42.317 回答