昨天忘记从实验室拿回电源,只能看315晚会,耽误了一天的进度。
听了通用shellcode编写讲解,但真正去写的时候发现问题还是非常多的。至少在实验室的一上午都没有调好。
我又用了一下午时间,才终于调通了整个程序,主要遇到了几个问题:
1、变量的内存空间申请,每次申请数值都是4的倍数,即32位寄存器的值。
2、shellcode写入内存后,为了防止执行shellcode时数据压栈覆盖后面的shellcode,必须设置足够的缓冲区。
3、代码一定要写对,\x90,一定要带上\x,而且x要小写,否则浪费太多时间在找错上不划算。
前两个错误从一定程度上掩盖了第三个最不该犯的错误,但最后看到shellcode运行成功并且在cve-2013-3333中成功利用后,还是很开心。