【转载】文件格式的重要性!

回顾本漏洞的重现过程和分析过程,我们首先学习了TIFF文件格式的一些基本规范,由于利用程序中没有详细的注释为什么那样构造畸形文件,因此我们需要掌握一定的文件格式规范。接着我们结合利用程序对其生成的畸形tiff文件,根据格式规范来分析,发现在第一个IFD中的第4个DE有一定的可疑,该DE指定了数值类型为16位的无符号整数,一共指定了连续的FF个这样的数值。最终通过跟踪调试的方法,定位到了栈溢出发生的函数——read()函数,这是微软下的c标准运行库中的一个函数,功能是从由handle指定的文件中读取由count指定字节数的数据到buffer。而在对tiff文件做处理的oieng400.dll文件中调用read()函数时,传入的buffer竟然是内部变量,而且从文件中读取并写入这个内部变量前没有做任何的检查操作。这就是导致漏洞发生的根本原因。 

参考文章:http://bbs.pediy.com/showthread.php?t=57730

转载于:https://www.cnblogs.com/exp-pekin/p/4165635.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值