存档

2012年11月 的存档

[译]各种IE版本下的堆喷射技术

2012年11月30日 3 条评论

最近我在学习为一些古老的漏洞编写exploit,以使得它们能够在Windows 7 + IE9下正常运行。之前在利用漏洞的时候我的PoC都一直是在Windows XP + IE6下测试的,仅仅是为了确定它们确实可以正常工作,而不用担心在以后的版本中的问题。在这篇文章中我仅仅是分享一些基本信息,这对第一次编写/理解exploit的人来说应该非常有帮助,同时尽可能使得这些信息简单易懂并且不考虑性能和精确性。在之前的exploit中,当在IE6下测试的时候我使用了如下的Heap Spray(堆喷射)代[……]

继续阅读

ShellCode常用的GetPC方法

2012年11月24日 1 条评论

GetPC,也即Get Program Counter,取得程序计数器的值,在x86下就是GetEIP了,其作用是在进程的内存空间中得到当前的EIP的值,通常用于需要对代码自身进行操作的场合下,比如自解码和自修改代码(更一般的来说常见于病毒、溢出攻击代码等,也称之为代码重定位技术)。因为在x86下无法直接操作EIP寄存器,所以需要一些特殊的方法来获取EIP寄存器的值。
1. CALL GetPC
最简单的GetPC方法是使用call指令,之前的文章有提到过(http://www.programl[……]

继续阅读

一个字节毁掉一段ShellCode

2012年11月20日 6 条评论

暂时告别了一段忙碌的生活,博客还是得打理一下……今天在测试一个FTP服务器程序时,发现仅仅一位一个特殊的字节而破坏了整段ShellCode,调了好久才找到原因,就想写篇博客记录下,顺便感慨下调试的不易。

场景:已经写好了一个Exploit针对此FTP服务器程序并成功绑定一个TCP Shell,现在需要替换为download_exec(下载并执行)ShellCode,于是使用Metasploit生成了一段download_exec的ShellCode,URL为http://localhost/test.exe,可是测试的时候被测程序总是悄然退出,用Ollydbg附加、在0x7FFA4512(jmp esp 是我用来做跳转的)处下硬件执行短点,再次出发溢出条件,发现ShellCode全然面目全非了:[……]