RM2MP3溢出漏洞报告【分析篇】

版本:2.7.3.7000

工具:OllyDbg1.1

环境:win7 sp1 x86

时间:2016.12.22


一.收集信息

       •1.因为是读取文件时出现的问题,所以可能用到的API函数:CreateFileA/W
       •2.准备之前的利用漏洞的m3u文件

二.下断点

       •1.CreateFileACreateFileW函数的断点
            
       •2. 最后我们在 CreateFileW 函数下断了下来
      

三.堆栈回溯
•1.找到调用地点和返回错误地点:
•2.函数开头:
•3.函数结尾:


四.找到返回地址

      •1.找到返回地址的堆栈地址,下个内存写入断点
           
      
      •2.找到了第一改变返回地址的地方:

5.关键点
找到另一处改变返回地址的地方,这次是最关键的,因为这是我们写的jmp esp的地址:



结论:

1.溢出的原因就是写入的时候没有检查堆栈的边界,以致破坏了原来的堆栈。
2.再者,函数开头和返回之前有都有0x8918这个数字,而且我们写的m3u也是在0x8918附近出现问题的,推断应该是作者设计的m3u文件的最大大小,但是没有做最大判断,以至于文件过大,影响了后来的操作。
3.推荐使用安全版函数strcpy_s等等保证边界不溢出。

附原程序下载地址:

链接:http://pan.baidu.com/s/1c2Midc0 密码:z690

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值