原理:
SVN是源代码管理软工具。使用SVN管理本地代码过程中,将生成名为.svn的隐藏文件夹,包含非常重要的源码信息。当网站管理员在发布代码时,没有使用导出功能,直接进行复制粘贴,导致出现SVN信息泄露漏洞 常见漏洞变现为 :域名/.svn/entries。
挖掘过程:
使用的工具为:AWVS,SvnExploit(下载地址:mirrors / admintony / svnExploit · GitCode)
1.使用AWVS测试,给出高危漏洞如下图(也就高危漏洞有价值,其他的不看)
2.直接看SVN repository found
3.重点是Attack Details
SVN files found at : /.svn/format.
这一段,既然给了就直接用它构poc。
4.浏览器访问 原路径/.svn/format. 自动下载文件 format打开内容为12.确定其存在SVN敏感信息泄露漏洞。
漏洞利用(违法行为,只用来学习)
1.可用dirsearch跑路径目录。
2.用到上面的工具Svnexploit(要先安装Python环境)
检查是否存在exploit:: python SvnExploit.py -u http://域名/.svn
3.下载源码(违法,只学勿做)exploit::python SvnExploit.py -u http://域名/.svn --dump
: 可在Svnexploit的dbs目录下看到下载的源码,重要文件wc.db都被暴露出来!可见其危害。
修复
参考:狼组安全团队公开知识库
1、不要使用svn checkout和svn up更新服务器上的代码,使用svn export(导出)功能代替;
2、服务器软件(Nginx、apache、tomcat、IIS等)设置目录权限,禁止访问.svn目录;
3、删除 .svn 文件夹