問題タブ [aslr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-8 - Windows 8 ヒープのランダム化
Windows 8 のヒープ ランダム化アルゴリズム (ヒープ メモリの割り当て用) は、32 ビット プロセスと 64 ビット プロセスの両方で機能しますか? または64ビットプロセスのみですか?
ありがとう!
c - 4 ビット ASLR を「製造」する方法はありますか?
私は現在、私が書いた小さなプログラムでいくつかのエクスプロイトをテストしています.ASLRのような保護を「コーディング」する方法があったかどうか、または制限された可能なオフセット値( 16のように)。
ASLR とは: http://en.wikipedia.org/wiki/Address_space_layout_randomization
また、これが役立つ場合は、i686-w64-mingw-gcc を使用してソースをコンパイルしています。そのためのオプションが既に存在する可能性があります (ただし、見つかりませんでした)。
ありがとうございました !
buffer-overflow - NOP スレッドでのアドレスの計算
私は現在、コンピューターシステムの紹介を読んでいます:プログラマーの視点-2&keywords=introduction+to+computer+systems ) を参照し、バッファ オーバーフローを阻止する方法を理解しようとしています。
アドレスのランダム化が使用されるときに NOP スレッドが必要な理由とエクスプロイトの作成方法は理解していますが、本に記載されている NOP スレッドに関連するアドレス計算を理解するのに苦労しています。ここに引用します:-
(スタック上のプログラムの開始アドレスの範囲が、32 ビット システムでは 2^23、64 ビット システムでは 2^32 であると仮定します)
「256 バイトの NOP スレッドを設定した場合、n=2^23 のランダム化は、2^15 の開始アドレスを列挙することでクラックできます。これは、断固たる攻撃者にとって完全に実行可能です。64 ビットの場合、2^ を列挙しようとしています。 24 のアドレスはもっと大変です。」
著者は、32 ビットと 64 ビットの場合、それぞれ 2^15 と 2^24 という数字をどのように思いついたのでしょうか? 説明は本当に役に立ちます。
linux - Linux ELF の各セグメントをランダム化する方法
コードをPIEとしてコンパイルすることで、コード、データ/スタック/ヒープをランダム化できることがわかっています。コードとデータには、読み込みごとに常に固定オフセットがあります。
いくつかのコンパイル/リンク フラグを追加して、コード/データ オフセットをランダムな値に設定する方法はありますか?