2011-07-01 11 views
2

setuid(0)とexecve( "/ bin/bash"、NULL、NULL)を呼び出すプログラムを実行しました。私は、私はrootシェルを取得./a.outを実行するとgdbはsuidのルートプログラムをデバッグできますか?

それから私はchown root:root a.out && chmod +s a.out

をしました。しかし、私がgdb a.outを実行すると、通常のユーザーとしてプロセスが開始され、ユーザーシェルが起動します。

だから、私は、ルートの基本プログラムをデバッグできますか?

答えて

6

gdbをrootとして実行するだけです。 (言い換えれば、いいえ)

セキュリティ上の理由から、通常のユーザーは他のユーザーに属するプロセス、特にrootをトレースすることはできません。

+0

rootのみが 'ptrace()'(アプリケーションのデバッグに使用されるシステムコール)を呼び出すことができます。 – jyz

関連する問題