Python "jail" не выводится через xinetd

Я пробую небезопасную "тюрьму" Python, которую я где-то нашел, когда я запускаю ее локально и выполняю, она работает нормально. Тем не менее, когда я создаю для него сервис xinetd, я могу подключиться к нему по сети, кажется, что он подключается, но я не вижу никаких выходных данных. Файл Python:

#!/usr/bin/python -u

from sys import modules
modules.clear()
del modules

_raw_input = raw_input
_BaseException = BaseException
_EOFError = EOFError

__builtins__.__dict__.clear()
__builtins__ = None

print 'Get a shell, if you can...'

while 1:
  try:
    d = {'x':None}
    exec 'x='+_raw_input()[:50] in d
    print 'Return Value:', d['x']
  except _EOFError, e:
    raise e
  except _BaseException, e:
    print 'Exception:', e

Файл xinetd:

service jail-hard
{
    disable         = no
    id              = jail-hard
    type            = unlisted
    wait            = no
    socket_type     = stream
    protocol        = tcp
    user            = root
    server          = /usr/bin/python
    server_args     = /home/jailuser/jail-hard.py
    port            = 51337
}

А я просто соединяюсь с "nc ip-address port".

Обновление 1: когда я вырываю тюрьму и набираю любую команду, такую ​​как 'ls -la', я получаю вывод. Таким образом, кажется, что-то не так с заявлениями на печать?

0 ответов

Другие вопросы по тегам