xxx系统存在SVN文件泄露漏洞
漏洞名称 |
SVN文件泄露漏洞 |
漏洞地址 |
|
漏洞等级 |
中危 |
漏洞描述 |
Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。 Subversion使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion的客户端程序,管理着受控数据的一部分在本地的映射(称为“工作副本”)。在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。 svn 创建的文件或者目录包含被管理文件的历史信息,如 svn 库的路径,有权限修改文件 或者目录的用户,修改历史,源代码等敏感信息。 Web目录中存在.svn目录 Web中间件未限制客户端访问带.目录,例如:.conf/、.svn/、.data/ |
漏洞成因 |
由于网站管理员在上线的时候使用了SVN服务,checkout完毕并没有删除.svn这个隐藏目录,并且中间件没有禁止客户端访问这一目录。 |
漏洞危害 |
svn 创建的文件或者目录包含被管理文件的历史信息,如 svn 库的路径,有权限修改文件 或者目录的用户,修改历史,源代码等敏感信息。 |
修复方案 |
通用修复方案: 删除.svn目录 针对 Nginx服务器 的修复方案: 在nginx.conf中添加如下代码: location ~ ^(.*)/.svn/ { return 404; } 针对 Apache服务器 的修复方案: 在httpd.conf中添加如下代码: Order deny,allow Deny from all 。 |
测试过程 |
使用浏览器或CURL探测:http://target/.svn/entries,查看entries这个文件是否存在。 命令:curl -I http://target/.svn/entries |
复测情况 |
未修复 |
测试人员 |
测试人员1 测试人员2 |
原文始发于微信公众号(利刃信安):【每天一个漏洞报告10】SVN文件泄露漏洞
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论