クラスの生徒が、私が今まで見たことのないバッファ オーバーフローを悪用する手法を思い付きました。(率直に言って、それが機能することに驚いています。) (1) 誰かが以前にこのようなものへの参照を見たことがあるかどうか、(2) このタイプの攻撃が一般的に機能するには「脆弱」すぎるかどうかに興味があります。
基本的に、エクスプロイトのアイデアは、フォームの入力を提供することです
AA...A BBBB CC...C,
標準入力でAA...A
は、オーバーフローが発生します。保存された eip はBBBB
;で上書きされます。そしてCC...C
シェルコードです。ただし、保存された eip をスタック上ののアドレスで上書きするのではなく、保存さCC...C
れた eip を stdin のメモリ内のアドレスで上書きしました (まあ、実際にはstdin+length(AA...A BBBB)
)。
(興味のある方へ: 彼がこれを行った理由はCC...C
、スタック上の のアドレスに null バイトが含まれていたため、保存された eip をその値で上書きするのが困難だったからです。)
これが一般的に機能する場合、これは ASLR を回避する別の方法になるようです。
考え?