SVN Extractor is a specialized penetration testing tool designed to extract hidden web resources from exposed .SVN directories found on web servers. This tool automates the process of discovering and downloading files that may be inadvertently exposed through misconfigured SVN repositories, providing penetration testers with access to source code, hidden files, and sensitive information.
Project Overview
During web application penetration testing, testers often encounter exposed .SVN folders that contain valuable information about the application’s structure and source code. SVN Extractor automates the extraction process, making it easy to discover hidden files, access source code, and bypass certain access restrictions that might be in place.
Key Features
🔍 Comprehensive SVN Discovery
Dual Version Support: Handles both SVN <1.6 (.svn/entries) and >1.6 (.svn/wc.db) formats
Automatic Detection: Intelligently detects SVN version and adapts extraction method
Hidden File Discovery: Uncovers files and folders not directly accessible via web interface
Username Extraction: Retrieves commit usernames from SVN metadata
🚀 Advanced Extraction Capabilities
Source Code Recovery: Downloads complete source code from SVN backups
Multiple Backup Locations: Extracts from .svn/text-base/ and .svn/pristine/ directories
Bypass Restrictions: Downloads files even when htaccess restrictions are in place
Checksum Verification: Uses SHA1 checksums for file integrity verification
🛠️ Flexible Configuration
Proxy Support: HTTP/HTTPS proxy configuration for testing through corporate networks
Selective Extraction: Regex-based file matching for targeted downloads
Debug Mode: Detailed logging for troubleshooting and analysis
No-Extract Mode: Information gathering without file downloads
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