Python "jail" не выводится через xinetd - PullRequest
0 голосов
/ 30 мая 2018

Я пробую небезопасную «тюрьму» 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
}

И я просто подключаюсь с помощью «порта IP-адреса nc».

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

...