Комментарии 7
Для реализации любого алгоритма (тьюринг-полной системы) достаточно операции "вычесть если не ноль". А роскошь вида rbash похожа на полицейскую ленту. Сколько ньютонов может сдержать полицейская лента? Или там дело не в ньютонах а в надписи "do not cross"?
0
Да в общем-то никто не мешает из rbash запустить сразу bash безо всяких vim:
❯ mkdir /tmp/test
❯ cd /tmp/test
❯ rbash
user@host:/tmp/test$ cd /
rbash: cd: restricted
user@host:/tmp/test$ bash
user@host:/tmp/test$ cd /
user@host:/$ pwd
/
+2
Таким образом, для обхода ограничений необходимо было знать команды vim и суметь запустить его
1. Можно не знать, а нагуглить.
2. Зачем нужно vim, если можно выполнить другие команды, например bash?
3. Непонятно зачем ставить подобные оболочки и показывать примеры их ограничений на том, что ВООБЩЕ не относится к задаче, ибо запереть пользователя в каталоге нужно делать через chroot, а не через запрещение команды cd. А через подобные оболочки как раз нужно запрещать всякие vim/bash и вообще все команды кроме разрешенных и проверенных, но в статье об этом ни слова. Как ни слова и о том, как такую оболочку поставить дефолтно.
Очень низкий уровень материала.
0
В нашем случае выполнение команды cd — это запуск процесса в операционной системену нет — в большинстве современных оболочек это встроенная команда, выполняющая системный или библиотечный вызов без всяких новых процессов, и такое положение дел уже лет 30, если не 40
+1
Приложение конечно надо тщательно чекать
0
Я думал тут хотя-бы про sudo, а тут вообще какая-то фигня.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Обход ограничений терминала