私はトピック:buffe roverflow attackを使ってシステムセキュリティプロジェクトを進めています。 私はプログラムを持っており、私はroot権限を得るべきソースコードを持っています。 私は初めに、ランダムカナリアによって引き起こされている問題は、乱数ジェネレータを初期化するプログラムをotの:バッファオーバーフロー攻撃で、ランダムなカナリアンを再生できますか?
srand(time(NULL)^(getpid() << 16));
後でカナリアには
canary = rand();
で私の質問を設定します:ですカナリアを再生することは可能ですか?私は塩を再生成したいと思います(time(NULL)は1970年からの秒数を返し、pidはプログラムの開始時に一定です)、次にrand()を呼び出してカナリアを取得します。 私はスクリプト言語に精通していないし、Linuxの経験が豊富ではないので、決してうまくいかないソリューションで時間を無駄にしないことを願っています。 ありがとうございます! :)
phpとcは同じrand-generatorを使用していますか?私自身の書かれたCアプリケーションで試してみると動作しますが、PHPではそれはありません。 – C4ptainC4mp
'rand()'の実装はプラットフォームに依存しているようです。 Debianでは、私はCとPHPで同じ結果を得ています。 OS Xでは、Cプログラムは別の結果をもたらします。ターゲットアプリケーションと同じライブラリを使用してプログラムをコンパイルしていれば、大丈夫です。 –