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