我正在练习真正基本的缓冲区溢出,我发现了一些奇怪的东西。
我的有效载荷是这样的:
[JUNKBYTES]+[EIP(jmp esp)]+[SHELLCODE]
现在,"流程"应用程序转到我在漏洞利用中指定的EIP,然后它应该跳转到[SHELLCODE]
的开头,但它从[SHELLCODE]
的第5个字节开始 - [SHELLCODE]
的前4个字节好像被忽略了。
我用以下方法解决了修改我的有效负载的问题:
[JUNKBYTES]+[EIP(jmp esp)]+[PADDING(4 bytes)]+[SHELLCODE]
但是当然我想明白为什么会这样。提前谢谢。