5

コース割り当ての一部として、バッファオーバーフローを引き起こし、スタックに存在するコードを実行するエクスプロイトコードを作成する必要があります。

次のコマンドでスタックのランダム化をオフにしました。sysctl-wkernel.randomize_va_space= 0しかし、スタック実行保護をオフにする方法が見つかりません。ubuntuにスタックexec保護があるかどうかはわかりません...したがって、最初の質問は、ubuntu 8.10に赤い帽子のexec-shieldのようなものがあるかどうか、ある場合はどうすればオフにすることができるかです。

バッファオーバーフローを引き起こしてスタックから命令を実行しようとしていますが、そうしようとすると、セグメンテーション違反が発生します。

私はubuntu8.1064ビットを持っていますが、プログラムimデバッグは、スタック保護がオフになっているi386マシンでコンパイルされます。

4

2 に答える 2

5

おそらく、 (GCC の SSP/Propolice スタック保護を無効にするため-z execstack) とともに、GCC コンパイルでフラグを使用してコンパイルする必要があります。-fno-stack-protector

gcc -fno-stack-protector -z execstack -o vuln vuln.c

この後、おそらくすべてがジェイクになるはずです。sysctl -w kernel.randomize_va_space=0それ自体はアドレス空間のランダム化であり、スタック保護ではないことに注意してください。これは、さまざまな手法を使用することに対して力ずくで行われる可能性があります。

于 2010-02-04T02:00:31.257 に答える
0

これらのプログラムは、多くの場合、実行可能スタックなしで悪用される可能性があります。被害者が実行可能スタックなしでコンパイルされている場合は、リターン指向プログラミングを悪用手法と見なしてください。

http://en.wikipedia.org/wiki/返品指向のプログラミング

于 2013-04-16T19:58:39.683 に答える