私はCコードで関数を実行するためにバッファオーバーフローを引き起こそうとしています。これまでのところ、私はすでにEBPレジスタを引き継ぐバイト数を調べることができました。次に唯一のことは、実行したい機能にEIPのアドレスを代入することです。私はこのペイロードをPythonで生成しようとしています。このために、私は以下のバッファオーバーフローのためにPythonでペイロードを生成するには?
python -c 'print "A"*112 + "\x3b\x86\x04\x08"' > attack_payload
を使用これは私が
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;�
お知らせそれらの最後の文字が得るものです!私はそれが私が得ると思われるものではないことを知っています。 EIP
の登録簿で実行したいアドレスは0804863b
です。悪用を正しく実行するには、これをlittle endian
に入れなければなりませんでした。これに関するコメント?これのために悪用をさらに進めることはできません...
に上書きされます:あなたは、これが
print
が、使用していないしたくない場合は? – DKNUCKLES@DKNUCKLESファイルの内容をコピーせずに、どうすればよいのか分かりません。なぜなら、コードは 'gets'関数を入力するための入力(文字列)を期待しているからです。 – fish202