近日,360网站安全检测平台发布漏洞警报称,国内300余家大中型网站由于SVN使用不当,导致网站存在源代码泄露隐患。一旦该漏洞被黑客利用,不仅这些网站会蒙受严重的经济损失,数千万网民的帐号密码和个人资料可能也因此被黑客盗取。目前,360已向存在漏洞的网站发出报警邮件,并提供修复方案。
据介绍,SVN(subversion)是程序员常用的源代码版本管理软件。一旦网站出现SVN漏洞,其危害远比SQL注入等其它常见网站漏洞更为致命,因为黑客获取到网站源代码后,一方面是掠夺了网站的技术知识资产,另一方面,黑客还可通过源代码分析其它安全漏洞,从而对网站服务器及用户数据造成持续威胁图1:svn及entries文件夹暴露于外网环境
经360安全工程师分析,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”
图2:源代码文件副本暴露于外网环境
更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
鉴于SVN源代码漏洞存在巨大风险,360网站安全检测平台已第一时间向存在漏洞的网站发送了报警邮件,并提供了修复建议:
一、立即删除各级目录下的.svn文件夹,并且在今后的SVN代码上线操作中使用其自带的导出“Export”功能。
二、使用SVN 1.7及以上版本。