2

root が所有するファイルの読み取り/書き込みを可能にする C プログラムを作成する必要があります。ただし、別のユーザーでしかコードを実行できません。root パスワードは知っていますが、システムに「sudo」または「su」コマンドがないため、root アカウントにアクセスする方法がありません (実際にはシェル コマンドはまったくありません)。私は UNIX パーミッションについてよく知らないので、何らかの方法でシステムを悪用したり、root 自身が所有するプログラムを (+s などを使用して) 実行したりせずに、実際にこれを行うことができるかどうかはわかりません。 . 何かアドバイス?

ありがとう!

PS いいえ、これは悪意のあるものではありません。これは iPhone 上にあります。

4

3 に答える 3

2

UNIX パーミッション システムでは、root 自体が所有する setuid-root (+s、前述のとおり) とマークされたファイルを実行するか、既に root として実行されているプロセスと通信する必要があります。

そのようなファイルがない場合は、運が悪いです。

于 2010-05-30T22:22:03.250 に答える
1

アプリケーションに suid ビットを設定することでこれを行うことができますが、これからc application何らかのシェルを実行したい場合、これはローカル ユーザーで実行されます。通常、これはセキュリティ システムです。

ただしread/write/execute、ルートが所有するファイルは可能ですが、ユーザーがファイルのグループに含まれていない場合、ターゲット ファイルはread/write/execute最後の 3 ビットに設定されている必要があります。または、ユーザーがファイル所有者グループに含まれている場合は、これを中央の 3 ビットにチェック/適用する必要があります。(最初の 3 ビットは所有者に許可を設定しますが、これはあなたにとって有用な情報ではないかもしれません)。

rootアカウントにアクセスできない場合。次に、グループおよび他のユーザーのアクセス許可が必要な機能にアクセスできない場合、このファイルにアクセスするための特権ユーザーを取得しようとする以外に、これを行うことはできません。他のケースでは、ファイル アクセス許可でいくつかの修正を行うことができますが、このシステムからではありません。このデバイスからハード ドライブを取得し、他のデバイスに接続して変更するか、ライブ システムをこのデバイスにロードして変更する必要があります。ただし、これではなく特権システムでこれを行うことができます。

SUID bitsあなたの詳細については、次のサイトを参照してください。

http://www.codecoffee.com/tipsforlinux/articles/028.html

http://www.everyjoe.com/newlinuxuser/explain-what-is-setuid-and-setgid/

于 2010-05-30T21:59:06.397 に答える
0

iPhone SDK ではこれが許可されていません。アプリケーションはサンドボックス化されており、Apple が提供する非常に特殊な方法を除いて、そのサンドボックスの外に出ることはできません。iPhoneでこれを行う唯一の方法は、脱獄することです。

于 2010-05-30T22:08:12.783 に答える