SVN信息泄露漏洞
SVN信息泄露漏洞
1 SVN 简介
- SVN(subversion)是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就用用于多个人共同开发同一个项目,实现的共享资源,实现最终集中式的管理。在使用 SVN 管理本地代码过程中,使用
svn checkout
功能来更新代码时,项目目录下会自动生成隐藏的.svn
文件夹,其中包含重要的源代码信息: - 造成SVN源代码漏洞的主要原因是管理员操作不规范,在发布代码时未使用
导出
功能,而是直接复制代码文件夹到WEB服务器上,导致.svn
被暴露于外网环境,黑客对此可进一步利用:- 利用其中包含的用于版本信息追踪的
.svn/entries
文件,获取到服务器源码、svn服务器账号密码等信息; - 利用
.svn/wc.db
数据库文件获取到一些数据库信息; - 利用SVN产生的
.svn
目录下还包含了以.svn-base
结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,则可以直接获得文件源代码。
- 利用其中包含的用于版本信息追踪的
2 SVN目录
entries
和format
文件,数据只有个数字12。wc.db-journal
空文件tmp
空目录pristine
里是一些00~ff的名称的文件夹,每个文件夹里有若干哈希过的.svn-base
备份文件。wc.db
文件用SQLiteStudio
软件打开wc.db
文件,在NODES
表中,遍历这个表里的每一行,就可以下载到整个项目里的代码了,而且还能得到对应的真实文件名。不同SVN版本的差异:
svn1.7以及以后的版本则只在项目根目录生成一个
.svn
文件夹,里面的pristine文件夹里面包含了整个项目的所有文件备份在 svn1.6 及以前版本会在项目的每个文件夹下都生成一个
.svn
文件夹,里面包含了所有文件的备份,文件名为.svn/text-base/文件名.svn-base
;
3 SVN信息泄露漏洞危害
- 获取到网站源代码:通过源代码分析其它安全漏洞,从而对网站服务器及用户数据造成持续威胁
- 获取到网站目录结构
4 漏洞利用
下载EXP:0xHJK/dumpall: 一款信息泄漏利用工具,适用于.git/.svn/.DS_Store泄漏和目录列出 (github.com)
- 类似漏洞有:
.git/.svn/.DS_Store
- 类似漏洞有:
下载网站源码:
# dumpall -u http://www.webhack123.com/.svn
# ls www.webhack123.com_None
5 漏洞修复
- 不要使用
svn checkout
和svn up
更新服务器上的代码,使用svn export
(导出)功能代替; - 服务器软件(Nginx、apache、tomcat、IIS等)设置目录权限,禁止访问
.svn
目录; - 删除
/.svn
文件夹
SVN信息泄露漏洞的更多相关文章
- WordPress Backdoor未授权访问漏洞和信息泄露漏洞
漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...
- Linux kernel 内存泄露本地信息泄露漏洞
漏洞名称: Linux kernel 内存泄露本地信息泄露漏洞 CNNVD编号: CNNVD-201311-467 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级: ...
- Linux Kernel ‘/net/socket.c’本地信息泄露漏洞
漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...
- Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...
- Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞
漏洞名称: Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201311-053 发布时间: 2013-11-06 更新时间: 2013-11 ...
- PuTTY 信息泄露漏洞
漏洞名称: PuTTY 信息泄露漏洞 CNNVD编号: CNNVD-201308-380 发布时间: 2013-08-27 更新时间: 2013-08-27 危害等级: 低危 漏洞类型: 信息泄露 ...
- Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞
漏洞名称: Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞 CNNVD编号: CNNVD-201307-072 发布时间: 2013-07-05 更新时间 ...
- Linux kernel ‘net/key/af_key.c’信息泄露漏洞
漏洞名称: Linux kernel ‘net/key/af_key.c’信息泄露漏洞 CNNVD编号: CNNVD-201307-071 发布时间: 2013-07-05 更新时间: 2013-07 ...
- Roundcube Webmail信息泄露漏洞(CVE-2015-5383)
Preface Software: https://roundcube.net/Versions: 1.1.x<1.1.2(亲测1.1.5也有效)CVE: CVE-2015-5383Author ...
- AIX 5335端口IBM WebSphere应用服务器关闭连接信息泄露漏洞的修复
今天按要求协助进行漏洞修复,有个“IBM WebSphere应用服务器关闭连接信息泄露漏洞”,一直没太搞清是不是没打补丁引起的问题. 感觉同样的安装有的报这漏洞有的不报,而报的有的是应用端口,有时是控 ...
随机推荐
- 【Shell脚本案例】案例1:服务器系统配置初始化
〇.目录 一.背景 新购买10台服务器,并安装Linux系统 目的:对操作系统进行配置的初始化 二.需求 1.设置时区并同步时间 2.禁用selinux安全机制 3.关闭防火墙(清空防火墙的默认策略, ...
- python前言
目录 一.typora软件以及markdown语法介绍 1.输入标题的两种方法 2.无序列表 3.有序列表 4.在typora里插入多行代码块 5.制作表格 6.表情包 7.链接 8.Typora查看 ...
- Typora快捷键--实用
一.字体编辑 大小:ctr + 数字 或 ctr + 加减号 或 ### 加粗:ctr + b 倾斜:ctr + i 下划线:ctr + u 删除线:alt + shift + 5 上标:^ + 字体 ...
- Java基础类String学习分析
目录 1 String不可变性 2 不可变的好处 3 String+和StringBuilder效率差异 4 String, StringBuffer and StringBuilder 5 Stri ...
- JavaScript 深拷贝的循环引用问题
如果说道实现深拷贝最简单的方法,我们第一个想到的就是 JSON.stringify() 方法,因为JSON.stringify()后返回的是字符串,所以我们会再使用JSON.parse()转换为对象, ...
- java注解基础知识整理
目录 1.注解的定义 1.1.定义一个注解 1.2.注解的使用 2.JDK内置注解 2.1.java.lang包下的注释类型 2.2.元注解 2.3.Deprecated注解 3.在注解中定义属性 3 ...
- 小型web产品的功能测试要点或测试大纲
本文参考配置啦:-- Web类产品功能测试大纲,黑盒测试参考测试范围 [官网]:无 应用场景 黑盒测试,功能测试中常常需要考虑很多问题,这里根据本人的工作经验遇到的进行了系列总结.给出了一个常用的测试 ...
- react 高效高质量搭建后台系统 系列 —— 请求数据
其他章节请看: react 高效高质量搭建后台系统 系列 请求数据 后续要做登录模块(主页),需要先和后端约定JSON数据格式,将 axios 进行封装,实现本地的数据模拟 mockjs. Tip:s ...
- 10分钟做好 Bootstrap Blazor 的表格组件导出 Excel/Word/Html/Pdf
上篇: Bootstrap Blazor 实战 通用导入导出服务(Table组件) 1.新建工程 新建工程b14table dotnet new blazorserver -o b14table 将项 ...
- GIT安装步骤记录以及Git 常用命令,忽略文件,推送本地代码到仓库示例以及报错解决
下载 下载地址 git-scm.com 或 gitforwindows.org 安装(凡是下面没有给出图片的,都按默认选项就行) 选择安装组件 调整你的 path 环境变量 第一种是仅从 Git Ba ...