Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
svn-extractor — 通过网络上暴露的 .SVN 文件夹提取所有 Web 资源的简单脚本。 | Kitploit
工具/GitHubGitHub/anantshri/svn-extractor
侦察漏洞分析信息收集Web安全渗透测试
GitHubanantshri/svn-extractor

svn-extractor

通过网络上暴露的 .SVN 文件夹提取所有 Web 资源的简单脚本。

查看仓库
4841253年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Svn-Extractor

很多时候,Web 应用渗透测试人员会遇到 .svn 文件夹。对于那些不了解的人来说,.svn 文件夹是 SVN 版本控制系统用于执行其操作的。对于黑盒渗透测试,该文件夹包含大量信息。其中一些关键的帮助领域包括:

  1. 发现隐藏的文件和文件夹名称

  2. 访问文件的源代码。

  3. 即使 htaccess 中设置了限制,也能下载文件。

如何实现这一点。

  1. 发现隐藏的文件和文件夹名称

根据所使用的 SVN 版本,有两种方法可以实现这一点。
对于 <1.6 版本,我们有 .svn/entries 文件,其中包含文件/文件夹列表以及提交这些文件所使用的用户名。
对于 >1.6 版本,我们有 .svn/wc.db,其中包含类似的数据,但采用 sqlite3 格式。
这些文件可以通过 URL 直接访问。

  1. 访问源代码/下载文件,即使 htaccess 阻止其访问。

SVN 在两个不同的位置保存所有文件的备份副本。

  1. .svn/text-base/ "filename" .svn-base
  2. .svn/pristine/ "XX" / "CHECKSUM" .svn-base

其中

filename 是文件的实际名称。

CHECKSUM 是文件的 Sha1 校验和

XX 是 CHECKSUM 的前两个字符。

第一种条目类型有一个限制,假设文件名是 testme.php,那么路径变为:

.svn/text-base/testme.php.svn-base

大量服务器会执行该文件并返回输出。

这正是选项 2 的优势所在,但此信息仅在 wc.db(>1.6 SVN 版本)的情况下可用,并且要求 .sv/pristine 目录可通过 Web 访问。

然而,经过大量搜索,我未能找到一个可以一次性完成这两项操作的代码。

所以这里有一个工具,可以在一个脚本中执行这两个操作。

用法

最简用法

svn-extractor.py --url "url with .svn available"

所有选项

root@kitploit:~
$ python svnextractor.py --help  
usage: svn_extractor.py [-h] --url TARGET [--debug] [--noextract] [--userlist]
                        [--wcdb] [--entries] [--proxy PROXY] [--match MATCH]

This program is used to extract the hidden SVN files from a webhost
considering either .svn entries file (<1.6) or wc.db (> 1.7) are available
online. This program actually automates the directory navigation and text
extraction process

optional arguments:
  -h, --help     show this help message and exit
  --url TARGET   Provide URL
  --debug        Provide debug information
  --noextract    Don't extract files just show content
  --userlist     show the usernames used for commit
  --wcdb         check only wcdb
  --entries      check only .svn/entries file
  --proxy PROXY  Provide HTTP Proxy in http(s)://host:port format
  --match MATCH  only download files that match regex

Credit (C) Anant Shrivastava http://anantshri.info Greets to Amol Naik, Akash
Mahajan, Prasanna K, Lava Kumar for valuable inputs

参考资料

如果说所有研究都是我独自完成的,那是不公平的,所以这里是我用来获取信息的各种资源的链接。

  1. http://pen-testing.sans.org/blog/pen-testing/2012/12/06/all-your-svn-are-belong-to-us (用于 wc.db 的手动技术)

  2. http://www.adamgotterer.com/post/28125474053/hacking-the-svn-directory-archive (用于 .svn/entries 的手动技术)

  3. http://www.cirt.net/svnpristine (我能在网上找到的唯一执行 wc.db 魔法的自动化工具)

下载工具