在实验计算机中打开poc.png,或者仅仅是打开poc.png所在的文件夹,explorer.exe的CPU占用率就上升到了将近100%,使系统接近当机状态。只有强行结束或重启explorer.exe进程才能使系统恢复正常。如图17.3.5所示。 实际上,这是一个gdiplus.dll在处理IHDR时的整数溢出漏洞。该漏洞有很多种危害方式: 使得打开poc.png文件或者打开poc.png所在文件夹的未打补丁的用户死机 将poc.png挂到某个网站页面上,将使得访问该页面的未打补丁的用户死机 将poc.png设为QQ或MSN头像,将使看到您头像的未打补丁的好友死机 …… 由此可见,在解析文件的基础上进行漏洞的挖掘和测试比盲目地Fuzz要 17.3.4 深入解析,深入挖掘--PPT文件解析 这一节我们将挑战一种更加复杂的文件类型解析。通过学习本节手工解析PPT的知识,您完全可以自动化这种手工挖掘的过程,并据此写出自己的Smart Fuzz工具。 Office 系列软件使用的文件格式可以分为两个系列。 Office 97~Office 2003:使用基于二进制的文件格式,文件名后缀为doc、ppt、xls等。 Office2003及更高版本:使用基于XML的文件格式,文件名后缀为docx、pptx、xlsx等。 本节主要讨论PowerPoint 97~2003所使用的二进制文件格式。如图17.1.2所示,PPT文件的解析过程从逻辑上可以分为如表17-3-3所示的四层。 表17-3-3 PPT文件解析器逻辑分层
|