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