ltraceのは、いくつかの重要なステップが受けなければならないときに、より複雑なヒープオーバーフローが発生したための最良のツールであるとき、洗練されたヒープオーバーフローを使用して
(1)標準化します。これは、生成のプロセスとはexecveの呼び出した場合、単にプロセスに接続することを意味し、ローカルの攻撃者は、このプロセスを開始するにはexecve()を使用する場合、スタックが初期化される方法を理解することが重要です
(2)ヒープの設定を攻撃します。これは、対応するスタック滑らかな攻撃を設定するように、無意味で関数のmalloc接続を呼び出すことによって、適切なサイズおよび配列を指します。
(3)一つ以上のブロックのオーバーフロー。malloc関数を呼び出すことによって、プロセスは、1つまたは複数の単語を書き換えます。そして、このプログラムはあなたの関数ポインタの書き換えを実行させます
私たちは、攻撃者のヒープオーバーフローのために、それぞれの攻撃は、プログラムの動作状態に応じて、独自の対応する環境を持っているので、さまざまなヒープオーバーフローが使用する別の方法は、より重要であることを認識しています
エラーをトリガする前に、あなたの行動は、成功の安定性に直接的な影響は、プログラムの目標と攻撃コードかどうかになります持っています
何リライト:
1)関数ポインタ上書き
2)セクション内のコードの一部を書き込むように書き換えることができます。
方法3)ワードを書き込むことができる場合には、最初は、コード、関数ポインタを書き込み、カートンは、さらに、論理変数は、プログラムフローの変更を書き換えることができるように、コードを書きます