ポインタリダイレクティング
Reading time: 4 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
文字列ポインタ
関数呼び出しがスタックにある文字列のアドレスを使用する場合、バッファオーバーフローを悪用してこのアドレスを上書きし、バイナリ内に別の文字列のアドレスを置くことが可能です。
例えば、system
関数呼び出しがコマンドを実行するために文字列のアドレスを使用する場合、攻撃者はスタックに別の文字列のアドレス、export PATH=.:$PATH
を置き、現在のディレクトリに新しい文字列の最初の文字の名前のスクリプトを作成することができます。これにより、バイナリによって実行されます。
以下に例があります:
- https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/strptr.c
- https://guyinatuxedo.github.io/04-bof_variable/tw17_justdoit/index.html
- 32ビット、スタック内のフラグ文字列のアドレスを変更して
puts
によって印刷されるようにします。
関数ポインタ
文字列ポインタと同様ですが、関数に適用されます。スタックに呼び出される関数のアドレスが含まれている場合、それを変更することが可能です(例:**system
**を呼び出すために)。
以下に例があります:
参考文献
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。