简介
Adobe Re ader 是非常流行的 PDF 文件阅读器,在其 Collab 对象的 getIcon()函数中存在一个缓冲区溢出漏洞。同时由于 PDF 文档中支持内嵌的 JavaScript,攻击者可以通过在 PDF 文档中植入恶意的JavaScript来向getIcon()函数传递特制的参数以触发溢出漏洞,并结合Heap Spray攻击来夺取计算机的控制权。
漏洞原理及利用分析
用od载入acrord32.exe,再打开poc,不能捕获到异常,换成Immunity Debugger才行
将edx写入[edi],edi=0x130000
可以看出0x130000处只读,触发异常
在栈区看到 0x2210FE27 所在函数中调用了 strncpy
进去看看
char *strncpy(char *dest, const char *src, int n),表示把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回被复制后的dest。
调用strncpy入栈的三个参数esi,edi,eax