0

Core i7 720QM プロセッサを使用しており、仮想マシンとして Slackware 13.37 (32 ビット) を実行しています。クラスの課題として、脆弱なプログラムを作成し、スタックを破壊する必要があります。ただし、ほとんどのコンピューターでは、何らかの種類のスタック実行防止 (NX ビット?) があるため、これは機能しません。CPU がスタック上のデータを実行しようとする試みを検出すると、「セグメンテーション フォールト」が生成されます。

これを無視するために、または同様の方法でカーネルに通知する方法はありsysctlますか?

4

2 に答える 2

2
$ sudo apt-get install execstac

ELF ヘッダーを変更して、ターゲット バイナリのスタックで NX 保護を有効/無効にするプログラムであるexecstackをインストールする必要があります。

$ execstack -s vuln

サンプルプログラムのスタックを実行可能にする必要があります。

于 2011-09-22T09:37:06.040 に答える
1

このようにプログラムをコンパイルします

gcc -fno-stack-protector -z execstack <sourcefile> -o <outputfile>
于 2013-02-16T00:13:13.953 に答える