在将IP地址传递给程序之前,有awk (BusyBox v1.26.2awk)语句来解析/proc/cmdline。我也不能改变他们。
/bin/t awk 'BEGIN{FS="ip="}{print $2}' /proc/cmdline | awk 'BEGIN{FS=":"}{print $2}'
这样,/proc/cmdline中的ip=192.168.0.1:192.168.0.2:xxx:xxx:xxxx将打印192.168.0.2作为/bin/t的参数。
我不太熟悉awk,但我认为这是安全的,尝试注入一些安全问题(例如$(reboot)、0.0.0.0reboot等)将失败。(/bin/t对传递给它的命令行参数进行自己的检查)。
在这种情况下,攻击者可以控制uboot引导变量,因此可以控制/proc/cmdline中的ip=行。
我想得到awk专家的安慰,如果可能的话,这是不可注射的。
非常感谢。
需要澄清的注意事项:我是否可以在/proc/cmdline中添加导致shell执行的内容?
https://stackoverflow.com/questions/71020751
复制相似问题