关于/.svn/源代码泄漏的问题

查了下 老问题了 但 还是有 。。。。


====================================
据介绍,SVN(subversion)是程序员常用的源代码版本管理软件。一旦网站出现SVN漏洞,其危害远比SQL注入等其它常见网站漏洞更为致命,因为黑客获取到网站源代码后,一方面是掠夺了网站的技术知识资产,另一方面,黑客还可通过源代码分析其它安全漏洞,从而对网站服务器及用户数据造成持续威胁。
11(404).jpg

图1:svn及entries文件夹暴露于外网环境

  经360安全工程师分析,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”
12(328).jpg
图2:源代码文件副本暴露于外网环境

  更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
===================================

Nginx:
location ~ ^(.*)\/\.svn\/ {
return 404;
}

在 nginx 配置文件中的 server 块中添加 :
        location ~ ^/(WEB-INF)/ {
            deny all;
        }
        location ~ ^(.*)\/\.svn\/{
                deny all;
        }


你可能感兴趣的:(SVN,源代码泄露)