8.SVN文件泄露漏洞
漏洞名称
SVN文件泄露漏洞
漏洞地址
https://mirrors.tuna.tsinghua.edu.cn/
漏洞等级
中危
漏洞描述
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
中添加如下代码:
<Directory "WEB绝对路径/.svn/">
Order deny,allow
Deny from all
</Directory>
测试过程
使用浏览器或CURL
探测:http://target/.svn/entries
,查看entries
这个文件是否存在。
命令:
curl -I http://target/.svn/entries
复测情况
已修复
测试人员
南风向晚
原文始发于微信公众号(利刃藏锋):SVN文件泄露漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论