最近、Ubuntu11.10でreturn-to-libcを使用して、悪用中に非実行可能スタックをバイパスするという論文に基づいて、return-to-libc攻撃の実験ベースを行っています。
実験の前に、ALSR を閉じました。
論文によると、gdb で環境変数 SHELL="/bin/bash" のアドレスを見つけることができます (gdb を使用して、攻撃したいプログラムをデバッグします)。
しかし、Return-to-libc の実験に使用しようとすると、このアドレスが間違っていることがわかりました。
次に、環境変数のアドレスを取得する簡単なプログラムを作成します。
ターミナルでこのプログラムを実行すると、正しいアドレスが得られます。
このアドレスを使用して、攻撃を行うことができます。これに関する関連する質問
も見つけました。しかし、答えは本当に意味がありません(2番目の方が良いかもしれません)。
これについての詳細を教えてください。