Я получил оболочку на встроенном устройстве, /bin/sh
оболочку, но она крайне ограничена; она позволяет мне запускать только несколько команд с определенными аргументами, например ifconfig
, , или iptables
, или cat
(но не cat whateverIwant
, только cat, /proc/cpuusage
например). Я смог обойти эту оболочку и выполнить любую команду или что-то в этом роде; по сути, я могу попытаться запустить любую команду (скажем, ping
например), но sh
не буду иметь на это прав.
Ошибки: Попытка записи в существующий файл
/bin/sh: cannot create /bin/ping: Text file busy
Пытаюсь запустить пинг
/bin/sh: Access Denied.
Итак, сценарий таков, что я могу запускать только очень специфические бесполезные команды, а также я мог писать в файлы и читать имена файлов (не читать файлы), заметьте, что я не могу писать в определенные файлы, то есть в используемые двоичные файлы, но я могу писать новые файлы. Единственная идея, которая у меня есть, которая поможет мне запустить код, это использовать какой-то метод "перехвата dll", как это делается в Windows, но я не знаю, возможно ли это вообще.
EDIT: Дополнительная информация -> Устройство имеет 2 порта usb и имеет службу ftp. Я подключаюсь с помощью telnet.
решение1
Попробуйте запустить свой код в /tmp. Вы можете получить свой код здесь, сделать его исполняемым и запустить.