Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我做了一个调用 setuid(0) 和 execve("/bin/bash",NULL,NULL) 的程序。
然后我做了chown root:root a.out && chmod +s a.out
chown root:root a.out && chmod +s a.out
当我执行时,./a.out我得到一个 root shell。但是,当我这样做时,gdb a.out它会以普通用户身份启动该过程,并启动一个用户 shell。
./a.out
gdb a.out
那么...我可以调试一个 suided 根程序吗?
只能以gdbroot 身份运行。(换句话说,没有。)
gdb
出于安全原因,不允许普通用户跟踪属于其他用户的进程,尤其是 root。