百度首页 | 百度空间
 
查看文章
 
暴风影音2008Beta1 最新远程溢出 0day 分析
2008-07-19 02:29

暴风影音2008Beta1 最新远程溢出 0day 分析

dummy@ph4nt0m.org

已近将此漏洞报给暴风.

声明:纯技术研究,禁止将本文相关代码非法用途!后果自负

下载地址: http://dl.baofeng.com/storm3/storm2008-beta1.exe

一、漏洞分析

今天下午帮同事查找一个软件和新版本暴风兼容性的问题,发现其新增了新的模块,回来就试了一下,运气真好被我到一个远程溢出。

问题模块是暴风的视频加速程序,暴风的视频加速功能是通过设置浏览器代理实现的,这个代理服务器(HttpServer.dll)会在本机开 8089 端口监听处理请求,因为此端口绑定的地址不是localhost, 从而导致此溢出可以被远程利用。

使用 od 打开暴风安装目录下的 box/Stline.exe,这个程序记视频加速模块的主程序文件,按下 F9 让 Stline.exe 跑起来,然后打开 IE 在地址栏中输入 http://baidu.com/111...11.flv (长度必须大于1000) 回车。Od 在 stormtra.dll因为异常暂停下来,如下图:


Ebx = 堆栈的栈顶,dx 是我们输入的 1, 把堆栈窗口拉到最高处,看到堆栈中填满了我们的输入的 URL 拷贝。使用 ida 打开这个 stormtra.dll 进行上下文分析,如下图:


发生异常的函数是在 unknown_libname_98 里,而 unknown_libname_98是 _vscan_fn 的回调,通过sub_1003AE2C 参数判断这个是正则表达式 search 函数,溢出正是在这个函数里面发生,具体为什么这个 search 过程发生溢出暂时可以不用管。

然后在 od 中 shift+f8 忽略异常,接着od 再次断下,如下图,这时eip = 0x00310031, 这是因为溢出后,操作系统从堆栈取异常处理函数,但是堆栈中被填满了我们的输入。


到这里已近可以看到我们的输入成功控制了 eip,那我们离成功也更进了一步了。

二、编写 shellcode

在 od 中注意我们的输入显示的 unicode 串,以前没有搞过此类的溢出,只知道比 ascii 麻烦很多,请教了123 大牛,他给我了一个同类溢出程序的 webdav (参考四),试着改了一下,但是不打算继续放相关代码了,有兴趣自己调吧:)。

四、参考资料

Webdav 远程溢出漏洞分析http://www.xfocus.net/articles/200303/500.html


类别:漏洞 | 添加到搜藏 | 浏览() | 评论 (21)
 
最近读者:
 
网友评论:
1
2008-07-19 03:27
学习了。。。 沙发。。。。。。。
 
2
2008-07-19 09:39
拜膜啊
 
3
2008-07-19 10:02
学习了
 
4
2008-07-19 11:13
大米~就把你的0DAY都放了吧 :)
 
5
2008-07-19 11:48
我要shellcode...
 
6
2008-07-19 14:56
哈哈,so easy~
 
7
2008-07-20 14:45
回六楼
---你知足了把,楼主公布出来都很不错了
 
8
2008-07-20 15:15
居然没去摇滚,鄙视。。。
 
9
2008-07-20 18:51
to Greysign:
哈哈,要站着我的腰实在不行啊- -

某人言:好的程序员要有好的腰~
 
10
2008-07-20 20:02
dummy24大侠,我用perl写了个程序,向8089发包,没有崩溃啊.怎么远程利用啊?
 
11
2008-07-20 23:19
to 大兵:
构造超长的 get flv 请求,暴风的加速器将因异常安静退出(看右下角托盘图标),因为其挂接 unhandler expcetion 处理,在调试状态可以看到崩溃地址
 
12
2008-07-20 23:19
楼上需要构造合适的url。注意这个“然后在 od 中 shift+f8 忽略异常,接着od 再次断下,如下图,这时eip = 0x00310031, 这是因为溢出后,操作系统从堆栈取异常处理函数,但是堆栈中被填满了我们的输入。”

dummy 很好的分析,连我都看懂了。
 
13
2008-07-20 23:21
dummy 比我快......
 
14
2008-07-21 00:23
好像明白一点了
 
15
2008-07-21 23:52
视频加速和设置浏览器代理有什么关系?
请dummy大牛指点下,谢谢!!!
 
16
2008-07-22 02:54
to 菜菜
对 ie 设置代理,那么在 ie 进程中所有的 网络访问都要通过代理,那么这个视频加速的功能就是监视你的数据包请求,比如发现是 get 请求播放一个 flv==那他就可以实现一个高效的下载模块文件下载,
将数据在还给浏览器
 
17
2008-07-22 13:43
非常非常感谢16楼的大牛的指点!!!!!
 
18
2008-07-24 14:20
这漏洞能用来挂马吗?
应该不行吧!
 
19
2008-07-24 15:04
挂个J8 马啊。
要搞。也用0DAY。。
来社工啊。。。
日。、
。。引用葛优的一句话。
最烦你们这些打劫的。。。
一点技术含量都没。。
ORZ....
 
20
2008-07-31 21:20
谢谢rice的无私奉献,只是今想学习下,按照您给的链接下的暴风在IE提交了超长请求后并没有断在漏洞模块中,猜想是不是因为多线程的原因。还是已经补上这个洞了,谢谢您的指点。
 
21
2008-08-17 02:42
学习~~要有好的腰子
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu