漏洞战争学习笔记
0x00 分析
使用Abysssec组织的exploit做为调试样本,首先打开excel –> attach execel.exe –> 按f9运行 –> 打开exploit文件。程序断下在0x300ce361 处:
向上栈回溯代码:
看到产生错误的代码的调用函数是sub_300ce252
在此处下断点,重新运行程序,看到此时的栈顶是0x0013aa90,也就是该函数的返回地址。
在0x0013aa90处下内存写断点,以便跟踪到覆盖函数返回地址的命令:
在函数返回值处下断点,按f9,断下,看到0x300ce3c8处循环复制数据到栈上,此时的edi地址是0x0013aa9b,ebp的地址是0x0013aa3b,栈空间为0x60。推断是栈空间溢出导致数据覆盖了栈数据照成异常0x300ce361处eax的数据异常造成异常退出。现在我们的目标是先弄清楚函数间的关系,然后调试exploit使之正常运行。