Ich habe ein Programm geschrieben, das setuid(0)
und aufruft execve("/bin/bash",NULL,NULL)
.
Dann habe ich getan chown root:root a.out && chmod +s a.out
Beim Ausführen ./a.out
erhalte ich eine Root-Shell. Wenn ich dies tue gdb a.out
, wird der Prozess jedoch als normaler Benutzer gestartet und eine Benutzer-Shell gestartet.
Also ... kann ich ein setuid-Root-Programm debuggen?