0

次のような単純なコードでroot権限を取得することができます。

char *name[2];
name[0] = "/bin/bash";
name[1] = "-p";
name[2] = 0x0;

execve(name[0], name, 0x0);

ただし、このソリューションでは、スティッキービットchown root:rootを設定する必要があります。chmod u+s。

問題は、ユーザー名とパスワードを提供するだけでroot権限を取得する方法です(プロセスごとおよびこのプロセスごとに、ユーザーにログイン情報を要求し、このアクセス許可を使用して実行します)。

4

1 に答える 1

-1

この問題は、root パスフレーズを su ユーティリティに直接提供することで解決されます。fd_set または pipes を使用し、システム コール forkpty を使用して、ログイン シェルを返すことで、簡単にリッチにすることができます。

この質問を説明し、解決策を示す私の投稿を確認してください: http://www.andreypudov.com/2013/02/user-authorization-in-linux.html

于 2013-02-28T10:30:35.983 に答える