RM2MP3溢出漏洞报告【分析篇】
2017-02-28 16:29
309 查看
版本:2.7.3.7000
工具:OllyDbg1.1
环境:win7 sp1 x86
时间:2016.12.22
一.收集信息
•1.因为是读取文件时出现的问题,所以可能用到的API函数:CreateFileA/W
•2.准备之前的利用漏洞的m3u文件
二.下断点
•1.下CreateFileA、CreateFileW函数的断点
•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
工具:OllyDbg1.1
环境:win7 sp1 x86
时间:2016.12.22
一.收集信息
•1.因为是读取文件时出现的问题,所以可能用到的API函数:CreateFileA/W
•2.准备之前的利用漏洞的m3u文件
二.下断点
•1.下CreateFileA、CreateFileW函数的断点
•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
相关文章推荐
- 菜鸟版Expliot编写指南之PNP溢出漏洞分析+利用
- PHP5.2下chunk_split()函数整数溢出漏洞 分析
- Google发布SSLv3漏洞简要分析报告
- 一个简单的远程溢出漏洞分析
- 2015年11月数据安全漏洞分析报告
- 【分析】如何利用格式化溢出漏洞,x86/sparc
- tomcat 漏洞 CVE-2016-1240 分析报告
- Android APP通用型拒绝服务、漏洞分析报告
- Android APP通用型拒绝服务、漏洞分析报告
- APP SDK漏洞WormHole虫洞漏洞分析报告
- 软件漏洞分析入门_3_初级栈溢出B_系统栈原理
- ActiveX溢出漏洞实践分析
- CCProxy 6.2 溢出漏洞分析
- Android APP通用型拒绝服务、漏洞分析报告
- 移动安全漏洞分析报告(转)
- PHP5.2下chunk_split()函数整数溢出漏洞 分析
- WebDav远程溢出漏洞分析
- (最新)移动App应用安全漏洞分析报告 !
- 2015年10月数据安全漏洞分析报告
- tomcat 漏洞 CVE-2016-1240 分析报告