Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
svn-extractor — Script simple pour extraire toutes les ressources web via le dossier .SVN exposé sur le réseau. | Kitploit
Outils/GitHubGitHub/anantshri/svn-extractor
ReconnaissanceAnalyse des VulnérabilitésCollecte d'InformationsSécurité WebTests d'Intrusion
GitHubanantshri/svn-extractor

svn-extractor

Script simple pour extraire toutes les ressources web via le dossier .SVN exposé sur le réseau.

Voir le dépôt
484125il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Svn-Extractor

Bien souvent, les testeurs d'intrusion d'applications web sont confrontés à la présence de dossiers .svn. Pour ceux qui ne le savent pas, le dossier .svn est utilisé par le système de contrôle de version SVN pour effectuer ses opérations. Pour un pentest en boîte noire, ce dossier contient une énorme quantité d'informations. Voici quelques domaines clés où cela peut aider.

  1. Découvrir des fichiers et noms de dossiers cachés

  2. Accéder au code source des fichiers.

  3. Télécharger des fichiers même si des restrictions sont en place au niveau de htaccess.

Comment cela peut être réalisé.

  1. Découvrir des fichiers et noms de dossiers cachés

Il existe deux manières d'y parvenir selon la version de SVN utilisée.
pour <1.6, nous avions les fichiers .svn/entries qui contenaient la liste des fichiers / dossiers ainsi que les noms d'utilisateurs utilisés pour commiter ces fichiers.
pour >1.6, nous avons .svn/wc.db qui contient des données similaires mais dans un format sqlite3.
Ces fichiers peuvent être directement accessibles via une URL.

  1. Accéder au code source / télécharger des fichiers même si htaccess bloque son accès.

SVN conserve une copie de sauvegarde de tous les fichiers dans deux emplacements distincts.

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

où

filename est le nom réel du fichier.

CHECKSUM est la somme Sha1 du fichier.

XX est constitué des deux premiers caractères de CHECKSUM.

Le premier type d'entrées a une limite : supposons que le nom du fichier soit testme.php, le chemin devient alors.

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

un grand nombre de serveurs exécuteront le fichier et serviront la sortie.

C'est là que l'option 2 brille, cependant cette information n'est disponible que dans le cas de wc.db (version SVN >1.6) et cela nécessite que le répertoire .sv/pristine soit accessible via le web.

Cependant, après avoir beaucoup cherché, je n'ai pas trouvé un seul code capable de faire ces deux choses en une seule fois.

Voici donc un outil qui peut effectuer les deux opérations en un seul script.

Utilisation

minimal

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

alloptions

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

Références

Il serait injuste de dire que j'ai fait toutes les recherches moi-même, voici donc les liens vers les diverses ressources que j'ai utilisées pour obtenir ces informations.

  1. http://pen-testing.sans.org/blog/pen-testing/2012/12/06/all-your-svn-are-belong-to-us (technique manuelle pour wc.db)

  2. http://www.adamgotterer.com/post/28125474053/hacking-the-svn-directory-archive (technique manuelle pour .svn/entries)

  3. http://www.cirt.net/svnpristine (seul outil automatisé que j'ai pu trouver en ligne réalisant la magie wc.db)

Télécharger l’outil