当前位置: 首页 >新闻中心

新闻中心
软件漏洞分析的八大技巧汇总(4)
2014-03-28

技巧四:基于条件记录断点的漏洞分析技巧

以CVE-2012-0774 Adobe Reader TrueType字体整数溢出漏洞为例,该漏洞主要是在解析TTF字体中的虚拟指令导致的溢出,为了确定导致溢出的是哪条虚拟指令,就可以通过设置条件记录断点来实现。

打开poc触发崩溃后,通过栈回溯定位漏洞函数,此处标记为VulFunction,它就是用于索引虚拟指令处理函数的。

软件漏洞分析技巧

通过快捷键Shift + F4对VulFunction下条件记录断点,记录每次调用VulFunction时对应的虚拟指令索引号

软件漏洞分析技巧

设置好后重新加载AcroRd32.exe运行(不要关闭调试器否则前面设置的断点可能失效),打开poc.pdf运行后查看日志窗口:

软件漏洞分析技巧

导致漏洞的虚拟指令索引号为0×26,通过苹果官方提供的指令集https://developer.apple.com/fonts/ttrefman/RM05/Chap5.html,可以查到字节码0×26对应的虚拟指令为MINDEX,正是该条指令导致的溢出。