2017-05-16 9 views
0

シェルコーダのハンドブックを読んでいます。私は一緒にフォローしています。何らかの理由でシェルコードを実行できません。私は でプログラムをコンパイルしましたgcc -mpreferred-stack-boundary = 2 -m32 -z execstack -fno-stack-protector -no-pieバッファオーバーフローが起こっていない(シェルコードハンドブック)

私は理解できません...私はEIPのコントロールを持っていますGDBのスタックを見て、私はNOPスレッドにジャンプしていますが、まだ何も...私はそれが動作していない理由を理解していません。私は自分で試してみましたが、私は本の中から逐語コードを試してみましたが、どちらも動作していません。私のdmesgのが表示されます。

の制御EIP: セグメンテーションフォルトIP 00000000ffffd332 SP 00000000ffffd300エラー私は「6

0時: セグメンテーションフォルトIP 0000000042424242 SP 00000000ffffd330エラー14

NOPスレッドにリダイレクトしようとした後、42424242で私はkaliを走っていますが、私はubuntuでも試しました。/proc/sys/kernelにASLRを無効にしました。私はこれを仮想マシンで試しているので、正確に何が起こっているのか分かりません。

何が起こっているかを知るまで、私は移動したくないので、助けていただければ幸いです。

+0

私はこの同じ問題を抱えており、なぜこれがあるのか​​分からないようです。私は '/ proc//maps'(スタック)から飛び乗るipです。 – Arin

答えて

0

シェルコードは、64ビットプログラム上で32ビットシステム用にコンパイルされます(-m32フラグ)。コンパイル時に-m32を削除してみてください。

+0

私は同じように32ビットのLinuxでも試しました...。 –

+0

本当ですか?あなたはプログラムやシェルコードのような追加情報を投稿できますか? –

+0

私は、搾取の修士号を持っている私の仲間に尋ねました。なぜ彼はLinuxで新しいカーネルと関係があるのか​​もしれないと思っていました。私はロープの搾取に移りました。 –

関連する問題