我在嵌入式设备上获得了一个shell,一个/bin/sh
shell,但是极其有限;它只允许我运行一些带有特定参数的命令,例如ifconfig
、 or iptables
、 or cat
(但不是cat whateverIwant
,仅例如 cat /proc/cpuusage
),我已经能够绕过这个 shell,并执行任何命令或某种命令;基本上我可以尝试运行任何命令(例如ping
),但sh
无权执行此操作。
错误:尝试写入现有文件
/bin/sh: cannot create /bin/ping: Text file busy
尝试运行 ping
/bin/sh: Access Denied.
因此,情况是我只能运行非常具体的无用命令,而且我还能够写入文件并读取文件名(而不是读取文件),请注意,我无法写入某些文件,即写入二进制文件使用过,但我可以写入新文件。我唯一能帮助我运行代码的想法是使用某种“dll 劫持”方法,就像在 Windows 中完成的那样,但我不知道这是否可行。
编辑:附加信息 -> 该设备有 2 个 USB 端口,并且有 ftp 服务。我使用 telnet 连接。
答案1
尝试在 /tmp 中运行代码。您可以在此处获取代码,使其可执行并运行它。