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', я получаю вывод. Таким образом, кажется, что-то не так с заявлениями на печать?