Часто во время ручных тестов вы можете получить оболочку, не имея tty, но при этом Вам очень нужно дальше взаимодействовать с системой.
Простым языком получили доступ по SSH до сервака, а оболочки нет (стандартное уплавление посредствам команд не работает), т.е. вбиваете ls -la а в ответ тишина. Вот пример:
Немного википедии для полного понимания — Подсистема TTY, или TTY-абстракция, — это одна из основ UNIX-систем, в частности Linux. Данная система предназначена для использования одного терминала несколькими процессами, некоторых возможностей ввода (например, отправка сигналов специальными клавишами, удаление введёных символов).
Вот несколько команд, которые позволят вам создать tty-оболочку (неявное получение привилегий):
python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
perl —e 'exec "/bin/sh";'
perl: exec "/bin/sh";
ruby: exec "/bin/sh"
lua: os.execute('/bin/sh')
(From within IRB)
exec "/bin/sh"
(From within vi)
:!bash
(From within vi)
:set shell=/bin/bash:shell
(From within nmap)
!sh
Как Вы уже поняли, что все сугубо зависит от обстоятельств и сервисов и по которые используются в системе.
Дисклеймер: Данная статья написана только в образовательных целях и автор не несёт ответственности за ваши действия. Ни в коем случае не призываем читателей на совершение противозаконных действий.