### 简要描述: ### 详细说明: ANY_EMAIL 乌云已经把它列入到厂商当中了。 0x01 北京 anymacro是国内较流行的一家企业级邮箱系统,客户主要为教育/政府机构。 其中涉及客户较多。 从官网确认以下受影响: 运营级系统 中华人民共和国商务部 河北省网通 黑龙江省网通 内蒙古自治区铁通 抚顺市网通 企业级系统 苏宁电器集团 中远房地产 邯郸钢铁集团 铜牛针织集团 校园级系统 北京邮电大学 中国人民大学 东北大学 南昌大学 电 子 政 务 中国政协 济南市政府 天津市公安局 河北省高级人民法院 市民信箱系统 青岛市 东营市 石家庄市 宝鸡市 0x02 漏洞分析: Anymacro 系统采用PHP语言来实现的,并GPC默认的情况下是关闭的,内部变量都是通过全局方式获取的,在某些文件处未进行任何过滤,导致产生SQL注入漏洞,一旦被攻击者利用,可获取内部邮件信息,更甚至直接可获取邮件系统权限(root) 在根目录当中/logout.php中 ``` <?php /** Explain: 新版邮件系统使用的用户退出程序,完成的内容是将用户的session清除,如果存在,不存在则不清除 直接退出 Author:wbl Date:2008-07-07 **/ require_once"config/config.php"; require_once"config/dbconfig.php"; require_once"include/dbfunc.php"; db_conn(); $email= $_COOKIE['ANY_EMAIL']; //从客户端直接获取cookie信息, $sid= $_REQUEST['F_sid']; //检查用户是否存在,如果不存在则直接退出 $sql = "SELECT maildir FROM user WHERE id = '$email'";//将客户端获取的cookie变量进行查询(这里没有gpc一说,因为他系统设置默认就是关的) $rs = db_query($sql); if ( db_num_rows($rs) == 0 ) { userExit(); exit; } $row = db_fetch($rs); $maildir= $row['maildir']; $session_dir=...
### 简要描述: ### 详细说明: ANY_EMAIL 乌云已经把它列入到厂商当中了。 0x01 北京 anymacro是国内较流行的一家企业级邮箱系统,客户主要为教育/政府机构。 其中涉及客户较多。 从官网确认以下受影响: 运营级系统 中华人民共和国商务部 河北省网通 黑龙江省网通 内蒙古自治区铁通 抚顺市网通 企业级系统 苏宁电器集团 中远房地产 邯郸钢铁集团 铜牛针织集团 校园级系统 北京邮电大学 中国人民大学 东北大学 南昌大学 电 子 政 务 中国政协 济南市政府 天津市公安局 河北省高级人民法院 市民信箱系统 青岛市 东营市 石家庄市 宝鸡市 0x02 漏洞分析: Anymacro 系统采用PHP语言来实现的,并GPC默认的情况下是关闭的,内部变量都是通过全局方式获取的,在某些文件处未进行任何过滤,导致产生SQL注入漏洞,一旦被攻击者利用,可获取内部邮件信息,更甚至直接可获取邮件系统权限(root) 在根目录当中/logout.php中 ``` <?php /** Explain: 新版邮件系统使用的用户退出程序,完成的内容是将用户的session清除,如果存在,不存在则不清除 直接退出 Author:wbl Date:2008-07-07 **/ require_once"config/config.php"; require_once"config/dbconfig.php"; require_once"include/dbfunc.php"; db_conn(); $email= $_COOKIE['ANY_EMAIL']; //从客户端直接获取cookie信息, $sid= $_REQUEST['F_sid']; //检查用户是否存在,如果不存在则直接退出 $sql = "SELECT maildir FROM user WHERE id = '$email'";//将客户端获取的cookie变量进行查询(这里没有gpc一说,因为他系统设置默认就是关的) $rs = db_query($sql); if ( db_num_rows($rs) == 0 ) { userExit(); exit; } $row = db_fetch($rs); $maildir= $row['maildir']; $session_dir= "$maildir/$SESSION_DIR"; $session_file= "$session_dir/".$_REQUEST['F_sid']; if ( file_exists("$session_file") ) { @unlink($session_file); unset($_COOKIE['ANY_EMAIL']); unset($_COOKIE['F_SID']); } ``` 漏洞一: sql注入漏洞 这里sql注入效果如下: 给2个案例如下: http://webmail.vanceinfo.com http://sut.edu.cn [<img src="https://images.seebug.org/upload/201405/16184932c1e51c2a9b94ae613473632cbf6c189d.jpg" alt="O(VRN3)TROR_0C@CPG`U}IQ.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/16184932c1e51c2a9b94ae613473632cbf6c189d.jpg) 抓包sqlmap跑起来就出来了 [<img src="https://images.seebug.org/upload/201405/1618501460dde614c380421510d22dd59c50796f.jpg" alt="M)VPE4F[}BR_{}_XF`X}}]J.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/1618501460dde614c380421510d22dd59c50796f.jpg) 漏洞二: 任意文件删除漏洞(包含邮件) ``` $sid= $_REQUEST['F_sid']; //检查用户是否存在,如果不存在则直接退出 $sql = "SELECT maildir FROM user WHERE id = '$email'"; //这里一般选admin@+域名 都是存在的,例如admin@vanceinfo.com,顾这里是可以通过验证的。 $rs = db_query($sql); if ( db_num_rows($rs) == 0 ) { userExit(); exit; } $row = db_fetch($rs); $maildir= $row['maildir']; $session_dir= "$maildir/$SESSION_DIR"; //$SESSION_DIR在config.php定义为默认值为session ; $maildir 为 /mail/xxx.com1/admin/Maildir ; 顾这里$session_dir为:/mail/xxx.com1/admin/Maildir/session $session_file= "$session_dir/".$_REQUEST['F_sid']; //这里的$_REQUEST['F_sid']可控,导致$session_file整个可控。 if ( file_exists("$session_file") ) { //验证是否存在,一存在直接删除。。。(顾可删除任意人邮件,以及邮件系统源码等等。) @unlink($session_file); unset($_COOKIE['ANY_EMAIL']); unset($_COOKIE['F_SID']); } userExit(); exit; ``` [<img src="https://images.seebug.org/upload/201405/161851146778de89f0199ba1a058db6e9b937667.jpg" alt="AJ%8N8G%H8JE5WL0QS{LR5U.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/161851146778de89f0199ba1a058db6e9b937667.jpg) ### 漏洞证明: [<img src="https://images.seebug.org/upload/201405/1618501460dde614c380421510d22dd59c50796f.jpg" alt="M)VPE4F[}BR_{}_XF`X}}]J.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/1618501460dde614c380421510d22dd59c50796f.jpg)