Python Seccomp允许STDIN

时间:2014-08-11 05:20:51

标签: python stdin seccomp

我正在开展一个我将运行潜在恶意代码的项目。它的基本组织是主进程和从进程。从属进程运行潜在的恶意代码,并启用了seccomp。

import prctl

prctl.set_seccomp(True)

这是启用seccomp的方式。我可以很好地从奴隶到主人沟通,但不是相反。当我不打开seccomp时,我可以使用:

import sys

lines = sys.stdin.read()

或者那些东西。我发现这很奇怪,我应该有权限读取和写入seccomp的默认参数,特别是对于stdin / out。在打开seccomp之前,我甚至尝试打开stdin。例如。

stdinFile = sys.stdin
prctl.set_seccomp(True)
lines = stdinFile.read()

但仍无济于事。我也尝试过readlines(),它不起作用。一位朋友建议我尝试Unix域套接字,在seccomp继续之前打开它,然后只使用write()调用。这也没有用。如果有人对如何解决这个问题有任何建议,请发布!我在C中看到过类似

的代码
seccomp_add_rule(stuff)

但是我在使用cffi模块在Python中使用它是不成功的。

1 个答案:

答案 0 :(得分:0)

sys.stdin不是文件句柄,您需要在调用set_seccomp之前打开它并获取文件句柄。您可以使用os.fdopen。 stdin / stdout的文件描述符可用作sys.stdin.fileno()