![通过标记现有命令来生成 Shell 以 Sudo 身份运行](https://linux22.com/image/214124/%E9%80%9A%E8%BF%87%E6%A0%87%E8%AE%B0%E7%8E%B0%E6%9C%89%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%20Shell%20%E4%BB%A5%20Sudo%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%20.png)
有没有办法执行以下操作并以 root 身份生成第二个命令?
sudo whatever && /bin/sh
我尝试了以下内容,但它仍然使我成为原始用户。
sudo who && /bin/sh
我想知道一旦调用 sudo 一次,是否可以通过运行第二个命令来生成 shell。这很重要,因为我无法运行像sudo x && sudo y
我试图创建的测试这样的命令,因为(我相信)应用程序中的易受攻击的编码(在后端)将程序执行为sudo
.我只需要尝试在它前面标记一个命令,看看是否可以立即生成一个 root shell。
答案1
就像是:
sudo bash -c 'date && sleep 2 && echo $USER && date'
请注意,$USER
必须用单引号引起来,以确保在 sudo bash 中对其进行评估。如果它是双引号的,它将由普通用户的 bash 进行评估前sudo 已执行。