我正在从进攻安全.com 参加带有 Backtrack 的渗透测试课程,并且正在研究 Ability Server 的缓冲区溢出漏洞利用。我可以成功重写 EIP 并跳转到我的 shellcode。但是,当我开始在调试器中检查 shellcode 时,它会从 shellcode 中中断。我几乎 100% 确定我已经消除了坏字符。我什至在发送它之后将它发送到调试器中的 shellcode 之前比较了 shellcode,它们是相同的。
我很抱歉不得不通过 imgur 相册发布图片。由于我是 stackoverflow.com 的新手,因此在我获得一些街头信誉之前,他们不会允许我发布图片。
图片在缓冲区溢出相册中。(唯一专辑) http://edwardmcfellon.imgur.com/
{图 1}在这里,我在 EIP 设置了一个断点。到目前为止一切都很好。
{图 2}我让程序继续,它跳转到我的 shell 代码。一切都还好。
{图 3}当程序执行 POP EBX 时,我的 shellcode 中断,这是我的问题。
{图 4}这是它在破裂后结束的地方。
任何帮助,将不胜感激。仅供参考,我对编写缓冲区溢出非常陌生,我希望了解为什么会发生这种情况以及将来如何防止它。提前致谢。