私は本当に基本的なバッファ オーバーフローの練習をしていて、奇妙なことに気付きました。
私のペイロードは次のようなものです:
[JUNKBYTES]+[EIP(jmp esp)]+[SHELLCODE]
ここで、アプリケーションの「フロー」は、エクスプロイトで指定した EIP に移動し、 の先頭にジャンプする必要[SHELLCODE]
がありますが、 の 5 番目のバイトから始まります[SHELLCODE]
- の最初の 4 バイトは[SHELLCODE]
無視されます。ペイロードを次のように変更することを解決しました:
[JUNKBYTES]+[EIP(jmp esp)]+[PADDING(4 bytes)]+[SHELLCODE]
しかし、もちろん、なぜそれが起こるのかを理解したいと思っています。前もって感謝します。