SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息)
一、工具下载
目前GitHub上有源码下载,下载地址:https://github.com/callmefeifei/SvnHack
总共有两个文件,SvnHack.py就是利用工具
二、工具利用
安装环境最好是python2的版本,如果使用python3的版本需要将 import urlparse模块改为import urllib.parse,因为在python3 中已经将 urlparse改为urllib.parse
选项:
-h, --help 显示此帮助信息并退出
-u Url, --url=Url 添加一个svn url。
-d Dic, --dic=Dic 列出一个目录。
-r READFILE, --read=READFILE 读取文件。
–download 下载整站。
举例
python SvnHack.py -u http://trafficbonus.com/.svn/entries