Winsock Ftp Daemon内存溢出及修复
当输入的命令行超过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个字符就会导致目标缓冲区溢出,程序出错退出。
导致程序出错退出
修复的方式:
在 00402936指令处调用sprintf函数时,判断源字符串的长度。程序里类似这样的问题还有很多。
在 00402936指令处调用sprintf函数时,判断源字符串的长度。程序里类似这样的问题还有很多。
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 05-15奇安信:数据安全问题是医疗卫生行业数字化
- 05-15腾讯宣布混元文生图大模型开源
- 05-15网易云音乐与韩国知名娱乐公司Kakao达成战略
- 05-15阿联酋宣告正式开启“5G-A全国商用”计划,
- 05-15二十年未遇的强烈地磁暴来袭
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御