2011-07-01 68 views
2

我做了一個調用setuid(0)和execve(「/ bin/bash」,NULL,NULL)的程序。gdb可以調試suid root程序嗎?

然後我做了chown root:root a.out && chmod +s a.out

當我執行./a.out我得到一個root shell。但是,當我做gdb a.out它以普通用戶身份啓動進程,並啓動用戶shell。

所以...我可以調試一個suided root程序嗎?

回答

6

只能以root身份運行gdb。 (換句話說,不是。)

出於安全原因,不允許普通用戶跟蹤屬於其他用戶的進程,特別是root用戶。

+0

只有root可以調用'ptrace()'(用於調試應用程序的系統調用) – jyz