SVN 信息泄露
漏洞原理
使用 SVN 管理本地代码时,会自动生成一个 .svn 的隐藏目录:
[+] SVN ≤ 1.6 版本,会在项目的每个目录下生成 .svn 的隐藏目录,在该目录的 text-base 目录中包含了以 .svn-base 为后缀的源代码文件备份
[+] SVN ≥ 1.7 版本,只在项目根目录生成 .svn 的隐藏目录,源码备份文件在 pristine 目录下,且根目录存在 wc.db,存有所有文件信息
网站管理员在发布代码时,不愿使用 "导出" 功能,而是直接复制代码文件夹到 WEB 服务器,这同时把 .svn 目录也复制了,使其暴露在公网上
漏洞复现
https://github.com/kost/dvcs-ripper # 摊牌了,我是脚本小子
https://github.com/admintony/svnExploit # 这个不错
[+] SVN ≤ 1.6
[+] SVN ≥ 1.7
漏洞修复
[+] 删除 .svn 目录,或者对该目录添加目录访问权限
[+] 使用 svn export(导出)功能更新代码
声明:本文仅用于学习,切勿对网站进行非授权测试!!