0

クラスのリモート バッファ オーバーフロー エクスプロイトを実行する必要があります。私はそれのほとんどを理解しています。独自のコードを実行できるように、メインの戻りアドレスを上書きする必要があります。しかし、メモリ内のリターンアドレスの場所を見つける方法についてはカバーしていません...私はそれを間違え続けており、エクスプロイトは機能していません:(

私はgdbに座っていて、バッファのアドレス(0xbffff3dc)を持っています

ここで、戻りアドレスがスタック内のどこにあるかを調べる必要があります (そのため、戻りアドレスとバッファの間のオフセットを見つけることができます)。

次に、追加する必要があるスペースの量を確認します。

  • NOP (0x90)「そり」
  • 私のシェルコード
  • より多くの NOP ???
  • バッファのアドレス (戻りアドレスを上書き)
  • "\r\n" ???

^ 「???」と記されたものかどうかは定かではない 完全に必要です。

4

1 に答える 1

1

おそらくobjdumpを使用できます。

試してみるobjdump -d your-executableと、アセンブリコードとアドレスが表示されます

于 2013-03-08T06:35:22.810 に答える